উত্তর:
জন্য POSIX সামঞ্জস্যপূর্ণ শাঁস (ব্যাশ সহ) মান বলেছেন:
২.৩.৩ শেল ভেরিয়েবল
ভেরিয়েবলগুলি পরিবেশ থেকে শুরু করা হবে [...] যদি পরিবেশ থেকে কোনও পরিবর্তনশীল আরম্ভ করা হয়, তা অবিলম্বে রফতানির জন্য চিহ্নিত করা হবে; রপ্তানি বিশেষ অন্তর্নির্মিত দেখুন। নতুন ভেরিয়েবলগুলি ভেরিয়েবল অ্যাসাইনমেন্ট, [ইত্যাদি] দিয়ে সংজ্ঞায়িত এবং আরম্ভ করা যেতে পারে ]
এবং সম্পর্কে export
:
export name[=word]...
শেলটি নির্দিষ্ট নামগুলির সাথে সম্পর্কিত ভেরিয়েবলগুলিতে রফতানীর বৈশিষ্ট্য দেবে, যার ফলে পরবর্তীকালে সম্পাদিত কমান্ডগুলির পরিবেশে তাদের উপস্থিতি ঘটবে।
শেল এর দৃষ্টিকোণ থেকে, শুধুমাত্র ভেরিয়েবল আছে। শেল শুরু হওয়ার সাথে সাথে তাদের কিছু পরিবেশ থেকে এসেছে এবং তাদের মধ্যে কিছু শেল শুরু হওয়ার প্রক্রিয়াগুলির পরিবেশে রফতানি হতে পারে।
("পরিবেশ" আসলে প্রসেসের কাছে প্রবাহিত স্ট্রিংগুলির একগুচ্ছ প্রক্রিয়া শুরু হয় the অন্যান্য প্রক্রিয়াগুলি শুরু করা যখন অন্য জিনিস হতে পারে তবে অবশ্যই পরিবেশের সমস্ত পরিবর্তনগুলি আবার পাস করা স্বাভাবিক)
আপনি যদি কিছু নন-পসিক্স শেল ব্যবহার করে থাকেন তবে যেমন csh
জিনিসগুলি আলাদা হতে পারে:
$ csh
% echo $foo
foo: Undefined variable.
% setenv foo bar
% echo $foo
bar
% set foo=asdf
% echo $foo
asdf
% env |grep foo
foo=bar
% exit
এগুলি এক এবং একই পরিবর্তনশীল vari শেলটিতে, অন্যান্য বেশিরভাগ প্রোগ্রামিং ভাষার বিপরীতে, পরিবেশের ভেরিয়েবল এবং শেল ভেরিয়েবল একই নামের স্থান ভাগ করে দেয়। শেলের মধ্যে একটি এনভায়রনমেন্ট ভেরিয়েবল হ'ল শেল ভেরিয়েবল যা রফতানি করা হয়েছিল export
।
উদাহরণস্বরূপ, আপনার আগের প্রশ্নের আমার উত্তর দেখুন " শেল ভেরিয়েবল এবং এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে ব্যবহারের পার্থক্য কী? "
শেল পরিবর্তনশীল কেবলমাত্র বর্তমান শেলটিতে ব্যবহার করা যেতে পারে, এটি সিস্টেমের প্রশস্তভাবে ব্যবহার করা যায় না। অন্য প্রান্তে পরিবেশগত পরিবর্তনশীল সিস্টেম ওয়াইড ব্যবহার করা যেতে পারে। কনভেনশন অনুসারে শেল ভেরিয়েবল ছোট হাতের অক্ষর হিসাবে লেখা হয় এবং পরিবেশগত পরিবর্তনশীল বড় হাতের হিসাবে লেখা হয়। আপনি পরিবেশের পরিবর্তনশীল হিসাবে শেল পরিবর্তনশীল কাজ করতে পারেন, আপনাকে কেবল এটি রফতানি করতে হবে।