সাধারণ জিনিস
PATH=$PATH:~/opt/bin
অথবা
PATH=~/opt/bin:$PATH
আপনি ~/opt/binশেষে যুক্ত করতে চান কিনা তার উপর নির্ভর করে (একাধিক ডিরেক্টরিতে একই নামে কোনও প্রোগ্রাম রয়েছে এমন ক্ষেত্রে অন্যান্য সমস্ত ডিরেক্টরি সন্ধানের জন্য) বা শুরুতে (অন্য সমস্ত ডিরেক্টরিগুলির আগে অনুসন্ধান করা হবে)।
আপনি একই সাথে একাধিক এন্ট্রি যুক্ত করতে পারেন। PATH=$PATH:~/opt/bin:~/opt/node/binবা অর্ডারিংয়ের কাজটির প্রকরণটি ঠিক আছে। exportলাইনের শুরুতে রাখবেন না কারণ এতে অতিরিক্ত জটিলতা রয়েছে (নীচে "বাশ ব্যতীত শেলের উপর নোটগুলি দেখুন") এর নীচে দেখুন।
যদি আপনার PATHঅনেকগুলি আলাদা উপাদান তৈরি হয়ে যায় তবে আপনি নকল এন্ট্রি দিয়ে শেষ করতে পারেন। দেখুন কিভাবে জুড়বেন home ডিরেক্টরিতে পাথ ইউনিক্স যা হুকুমে আবিষ্কৃত হবে? এবং সদৃশ কমান্ডের সাথে সদৃশ $ PATH এন্ট্রিগুলি সরিয়ে ফেলুন ডুপ্লিকেটগুলি এড়াতে বা এগুলি সরাতে।
কিছু বিতরণ স্বয়ংক্রিয়ভাবে ~/binএটি আপনার রাস্তায় রাখে যদি উপায় হয়।
কোথায় রাখব
পরিবর্তন করার লাইন রাখুন PATHমধ্যে ~/.profile, অথবা ~/.bash_profileযদি আপনি তা আছে।
নোট যে ~/.bash_rcকোনও প্রোগ্রাম দ্বারা না পঠিত, এবং ~/.bashrcএটি ব্যাশের ইন্টারেক্টিভ উদাহরণগুলির কনফিগারেশন ফাইল। আপনার মধ্যে পরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করা উচিত নয় ~/.bashrc। পরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করার জন্য সঠিক জায়গা PATHযেমন ~/.profile(বা ~/.bash_profileআপনি যদি বাশ ছাড়া অন্য শাঁসের বিষয়ে চিন্তা করেন না)। দেখুন তাদের মধ্যে পার্থক্য কী এবং আমার কোনটি ব্যবহার করা উচিত?
এটা করা না /etc/environmentবা ~/.pam_environment: এই ফাইলগুলি শেল করা হয় না, আপনার মত বদল ব্যবহার করতে পারবেন না $PATHসেখানে। এই ফাইলগুলিতে আপনি কেবল একটি পরিবর্তনশীলকে ওভাররাইড করতে পারেন, এতে যোগ করতে পারেন না।
কিছু সিস্টেম স্ক্রিপ্টে সম্ভাব্য জটিলতা
আপনি প্রয়োজন হবে না exportযদি পরিবর্তনশীল ইতিমধ্যে পরিবেশ রয়েছে: ভেরিয়েবলের মান কোন পরিবর্তন environment.¹ প্রতিফলিত হয় PATHহয় প্রায় কাছাকাছি সবসময় পরিবেশে; সমস্ত ইউনিক্স সিস্টেম এটি খুব তাড়াতাড়ি সেট করে (সাধারণত খুব প্রথম প্রক্রিয়াতে, আসলে)।
লগইন করার সময়, আপনি PATHইতিমধ্যে পরিবেশে থাকা এবং ইতিমধ্যে কিছু সিস্টেম ডিরেক্টরি ধারণ করে থাকতে পারেন । যদি আপনি কোনও স্ক্রিপ্ট লিখে থাকেন যা কোনও ধরণের ভার্চুয়াল পরিবেশ স্থাপনের সময় শুরুর দিকে কার্যকর করা যেতে পারে PATHতবে আপনার PATHএটি খালি এবং রফতানি করা দরকার: যদি এখনও সেট না করে থাকে তবে কিছু PATH=$PATH:/some/directoryসেট PATHকরতে হবে :/some/directoryএবং খালি উপাদানটি শুরুতে অর্থ বর্তমান ডিরেক্টরি (যেমন .:/some/directory)।
if [ -z "${PATH-}" ]; then export PATH=/usr/local/bin:/usr/bin:/bin; fi
বাশ ছাড়া অন্য শেলের উপর নোট
বাশ, ksh এবং zsh এ, exportএকটি বিশেষ বাক্য গঠন এবং উভয়ই PATH=~/opt/bin:$PATHএবং export PATH=~/opt/bin:$PATHসঠিক জিনিসটি এমনকি করুন। অন্যান্য বোর্নে / পসিক্স-স্টাইলের শেল যেমন ড্যাশ (যা /bin/shঅনেক সিস্টেমে রয়েছে), exportএকটি সাধারণ কমান্ড হিসাবে বিশ্লেষণ করা হয়, যা দুটি পার্থক্য বোঝায়:
সুতরাং ড্যাশের মতো শেলগুলিতে আক্ষরিক স্ট্রিংয়ে export PATH=~/opt/bin:$PATHসেট PATHহয় যার ~/opt/bin/:পরে PATHপ্রথম স্থানের মান থাকে ।
PATH=~/opt/bin:$PATH(একটি খালি অ্যাসাইনমেন্ট) এর জন্য কোট লাগবে না এবং সঠিক কাজটি করে। আপনি যদি exportকোনও পোর্টেবল স্ক্রিপ্টে ব্যবহার করতে চান তবে আপনাকে লিখতে হবে export PATH="$HOME/opt/bin:$PATH", বা PATH=~/opt/bin:$PATH; export PATH(বা PATH=$HOME/opt/bin:$PATH; export PATHপোর্টাবিলিটির জন্য এমনকি বোর্ন শেলটিও গ্রহণ করা export var=valueহয়নি যা টিল্ড সম্প্রসারণ গ্রহণ করে নি এবং গ্রহণ করে নি)।
B বোর্ন শেলসে এটি সত্য ছিল না (যেমন বাস্তব বোর্ন শেল যেমন আধুনিক পসিক্স-স্টাইল শাঁস নয়) তবে আপনি আজকাল যেমন পুরানো শাঁসের মুখোমুখি হওয়ার খুব সম্ভাবনা রাখেন না।