~/.bashrc
এবং /etc/bash.bashrc
প্রতিবার একটি ইন্টারেক্টিভ bash
শেল শুরু হওয়ার সাথে সাথে চালানো হয়।
বিপরীতে, ~/.profile
এবং /etc/profile
প্রতিবার যে কোনও লগইন শেল শুরু হওয়ার সাথে সাথে চালানো হয়। সুতরাং এটি bash
শেল হতে হবে না, তবে এটি লগইন শেল হতে হবে (এবং অনেকগুলি bash
শেল উদাহরণ লগইন শেল নয় )।
- একটি
bash
শেল শেল যেখানে শেল প্রোগ্রাম যা এটি উপলব্ধ করা হয় bash
যেমন, বরং অন্য কিছু প্রোগ্রাম পরিবর্তে, dash
।
- লগইন শেল হ'ল একটি শেল যা লগইনের জন্য ব্যবহারকারী ইন্টারফেস (গ্রাফিকাল বা কমান্ড-লাইন) সরবরাহ করার জন্য স্বয়ংক্রিয়ভাবে শুরু হয়। লগইন শেলটি বের হয়ে গেলে লগইন সমাপ্ত হয় termin
অতএব, একটি প্রশংসা স্থাপন করা PATH
যা কোনও bashrc
ফাইলের মধ্যে প্রবেশগুলিকে সংযোজন করে :
শেলটি না থাকলে কিছুই করবেন না bash
, যা প্রায়শই হয়। উদাহরণস্বরূপ, PATH
আপনি যখন কোনও গ্রাফিকাল লগইন সেশনে থাকবেন তখন তা সংশোধিত হবে। মনে রাখবেন, PATH
কমান্ড-লাইন প্রোগ্রামগুলি দ্বারা কেবল ব্যবহৃত হয় না।
নেস্টেড bash
শেলগুলির উপস্থিতিতে এটি বারবার যুক্ত করুন । সুতরাং, যদি আপনি কোনও শেলের মধ্যে একটি শেল শুরু করেন - যা বিভিন্ন কারণে বিভিন্ন কারণে - এটি খুব সাধারণ - তবে আপনার একাধিক ~/bin
এন্ট্রি আপনার স্ট্যাক করা থাকবে PATH
। এটি PATH
পরিবেশের পরিবর্তনযোগ্য পড়তে অসুবিধাজনক করে তোলে এবং কখনও কখনও কর্মক্ষমতা হ্রাস করে।
এগুলি অযাচিত হবে। সুতরাং এটি একটি ফাইলে রাখা ভুলbashrc
হবে; এটা সত্যিই অন্তর্গত ~/.profile
। ~/.profile
জন্য সঠিক জায়গা :
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
নন-লগইন শেলগুলিতে তাদের পিতামাতার হিসাবে লগইন শেল (বা এমন কিছু যা লগইন শেলের মতো আচরণ করে) রয়েছে PATH
এবং এই লগইন শেলটি সহ তাদের বেশিরভাগ পরিবেশের ভেরিয়েবলের উত্তরাধিকারী । সুতরাং পাথ-মডিফাইং কমান্ডগুলিতে রাখার ~/.profile
জন্য তাদের কার্যকর হওয়ার জন্য আপনাকে লগ আউট এবং পিছনে প্রবেশ করতে হবে তবে এটি লগ-ইন শেলগুলির পরিবেশকেও প্রভাবিত করে (পাশাপাশি যে প্রোগ্রামগুলি শেল নয় সেহেতু পরিবেশগুলি প্রভাবিত করে, যেহেতু প্রতিটি প্রোগ্রাম তার পায় পরিবেশের ভেরিয়েবলগুলির নিজস্ব সেট - একে "পরিবেশ" বলা হয় - এটির মূল প্রক্রিয়া থেকে উত্তরাধিকারসূত্রে প্রাপ্ত)।