পরিবেশের ভেরিয়েবলগুলি কেবল ব্যবহারকারী পছন্দগুলির জন্য নয়। তারা পিতামাতার প্রক্রিয়া থেকে শুরু করে শিশু প্রক্রিয়াগুলিতে বিভিন্ন ধরণের তথ্য সেটিংয়ের যোগাযোগের জন্য একটি জেনেরিক প্রক্রিয়া।
এমন অনেকগুলি ঘটনা রয়েছে যেখানে কোনও প্রক্রিয়া শুরু হয় কেবলমাত্র প্রক্রিয়াগুলিকে প্রভাবিত করতে নির্দিষ্ট পরিবেশের পরিবর্তনগুলি নির্ধারণ করে । উদাহরণস্বরূপ, কোনও স্ক্রিপ্ট ইচ্ছাকৃতভাবে কমান্ডগুলির জন্য লোকেল সেটিংসটি এটি শুরু করার জন্য পুনরায় সেট করতে পারে, যেমন এটি তাদের থেকে আউটপুটকে বিশ্লেষণ করতে পারে। অনেক বড় সফটওয়্যার প্যাকেজগুলির জন্য বিল্ড স্ক্রিপ্টগুলি make
পরিবেশের ভেরিয়েবলের মাধ্যমে একে অপরের সাথে সমন্বিত হওয়ার নেস্টেড আহবানগুলি ব্যবহার করে । বিশেষায়িত সরঞ্জামগুলিতে programs LD_PRELOAD বা AT PATH দিয়ে কৌশলগুলি চালিয়ে শুরু করা অন্যান্য প্রোগ্রামগুলির কাজের পরিস্থিতি পরিবর্তন করার প্রয়োজন হতে পারে।
একটি দীর্ঘ সংকলন অন্যটিতে চলাকালীন কোনও ব্যবহারকারী যদি আলাদা উইন্ডোতে কিছু করেন তবে কেবল তার জাকের পিছনে তার সমস্ত প্রক্রিয়াগুলির পরিবেশগত পরিবর্তনগুলি জাদুকরভাবে বদলে যাবে, পাগলামি এবং বিশৃঙ্খলার ফলাফল হবে।
অন্যান্য পরিবেশের ভেরিয়েবলগুলিতে নির্দিষ্ট অধিবেশনটির প্রক্রিয়া শুরু হওয়ার বিষয়ে তথ্য থাকে Prog প্রোগ্রামগুলি প্রত্যাশা করে $ টিআরএম নির্দিষ্ট টার্মিনাল (বা টার্মিনাল এমুলেটর) এর সাথে সংযুক্ত সেগুলির কমান্ড সেটটি বর্ণনা করবে; সাধারণ ব্যবহারকারী প্রতি সেটিংটি বিভিন্ন সিস্টেমে বিভিন্ন ধরণের টার্মিনালের সাথে একই সিস্টেমে লগইন করা অসম্ভব করে তোলে making এমনকি যদি আপনার কাছে কেবলমাত্র টার্মিনাল হার্ডওয়্যারটির এক টুকরা থাকে এবং কখনই দূর থেকে লগইন করেন না, যেমন প্রোগ্রামগুলি screen
তাদের সেশনের অভ্যন্তরে প্রসেসগুলির জন্য একটি ভিন্ন $ TERM নির্ধারণের উপর নির্ভর করে।
আরও ভাল প্রশ্ন হ'ল আমরা কেন ব্যবহারকারীর পছন্দসই সেটিংসের জন্য প্রতি ব্যবহারকারীর ডাটাবেসের পরিবর্তে প্রসেস-টু-সাব-প্রসেস যোগাযোগ ব্যবস্থা ব্যবহার করব?
উত্তর: কারণ এটি যথেষ্ট ভাল কাজ করে এবং প্রতি ব্যবহারকারী ডাটাবেস তৈরির সুবিধাগুলি এত বড় নয় যে পরিবেশের ভেরিয়েবলের পরিবর্তে সমস্ত কিছু ব্যবহারের পরিবর্তনের কাজটি করা হবে।
(আমি খুব কম পক্ষপাত সেটিংস মনে করতে পারেন যেখানে না হারান কার্যকারিতা না অনুক্রমে উদাহরণস্বরূপ, কিছু ব্যবহারের ক্ষেত্রে যেখানে এটা তাদের কেবলমাত্র একটি স্ক্রিপ্ট নির্বাহ জন্য পরিবর্তন করতে সুবিধাজনক হবে। তাই, সবকিছু এখনও হতে হবে overridable দ্বারা পরিবেশের ভেরিয়েবল, যার ফলে যুক্ত জটিলতা এবং আরও বিভ্রান্ত ব্যবহারকারীদের পরিণতি ঘটে)।
বিকল্পগুলির অস্তিত্ব নেই বলে মনে হয় না । উদাহরণস্বরূপ, এক্স রিসোর্সগুলি প্রতি প্রক্রিয়া পরিবর্তে ডিসপ্লে সেশন অনুযায়ী। কিন্তু তারা কম্যান্ড-লাইন প্রোগ্রাম জন্য অ্যাক্সেসের করা কঠিন - এবং কম্যান্ড-লাইন প্রোগ্রাম সাধারণত দূরবর্তী লগইন যে এমনকি না কাজ করতে হবে আছে একটি এক্স সার্ভারের সাথে সংযোগ করতে।