পরিবেশের একটি অনুলিপি সাব-শেলগুলিতে প্রচার করে, তাই এটি কাজ করে:
$ export MY_VAR=200
$ bash
$ echo $MY_VAR
200
তবে এটি যেহেতু এটি অনুলিপি, তাই আপনি সেই মানটি প্যারেন্ট শেল পর্যন্ত পেতে পারবেন না - কমপক্ষে পরিবেশ পরিবর্তন করে নয়।
মনে হচ্ছে আপনি প্রকৃতপক্ষে আরও এক ধাপ এগিয়ে যেতে চান, যা এমন কিছু তৈরি করা যা যা গ্লোবাল ভেরিয়েবলের মতো কাজ করে, পিতামাতার কাছ থেকে আলাদাভাবে শুরু করা "ভাইবোন" শেলগুলি ভাগ করে - জিনোম টার্মিনালে আপনার নতুন ট্যাবের মতো।
বেশিরভাগ ক্ষেত্রে, উত্তরটি "আপনি পারবেন না, কারণ পরিবেশের ভেরিয়েবলগুলি সেভাবে কাজ করে না"। তবে, এর আরও একটি উত্তর রয়েছে যা হ'ল আপনি সর্বদা কিছু হ্যাক করতে পারেন। একটি পদ্ধতি হ'ল ফাইলের মতো ভেরিয়েবলের মান লিখুন ~/.myvar
এবং তারপরে এটি অন্তর্ভুক্ত করুন ~/.bashrc
। তারপরে, প্রতিটি নতুন শেল সেই ফাইল থেকে পঠিত মান দিয়ে শুরু হবে ।
আপনি আরও একধাপ এগিয়ে যেতে পারেন - ~/.myvar
বিন্যাসে তৈরি করুন MYVAR=200
এবং তারপরে সেট করুন PROMPT_COMMAND=source ~/.myvar
, যার ফলে প্রতিবার নতুন প্রম্পট পাওয়ার সাথে সাথে মানটি পুনরায় পড়তে হবে। এটা এখনও নেই বেশ একটি ভাগ বিশ্বব্যাপী পরিবর্তনশীল, কিন্তু এটা এটা পছন্দ কাজ করতে শুরু করছে চারপাশ। কোনও প্রম্পট ফিরে না আসা পর্যন্ত এটি সক্রিয় হবে না, যদিও আপনি যা করার চেষ্টা করছেন তার উপর নির্ভর করে এটি একটি গুরুতর সীমাবদ্ধতা হতে পারে।
এবং তারপরে অবশ্যই পরবর্তী জিনিসটি স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি লিখতে হবে ~/.myvar
। এটি কিছুটা জটিল হয়ে ওঠে এবং আমি এই মুহুর্তে থামব, কারণ সত্যিকার অর্থে পরিবেশের ভেরিয়েবলগুলি আন্তঃ শেল যোগাযোগ ব্যবস্থা নয়, এবং এটি করার জন্য আরও একটি উপায় খুঁজে পাওয়া আরও ভাল।