আপনি লগ ইন করার সময় ফাইলটি ~/.profileলগইন শেল (আপনার জন্য কেএসএস) দ্বারা পড়ে। ব্যাশ দ্বারা নিজেকে প্রতিস্থাপন করতে আপনি যে লগইন শেলটি নির্দেশ করতে পারেন। আপনার কিছু সতর্কতা অবলম্বন করা উচিত:
- লগইন শেলটি যদি ইন্টারেক্টিভ হয় তবে কেবল তা প্রতিস্থাপন করুন। এটি গুরুত্বপূর্ণ: অন্যথায়, গ্রাফিক মোডে লগইন কাজ করতে পারে না (এটি সিস্টেম-নির্ভর: কিছু কিছু তবে
~/.profileএক্সডিএম বা অনুরূপ মাধ্যমে লগ ইন করার সময় সমস্ত সিস্টেম পড়েন না ), এবং আইডিমগুলি যেমন ssh foo '. ~/.profile; mycommand'ব্যর্থ হবে।
- বাশ উপলভ্য আছে কিনা তা পরীক্ষা করুন, যাতে কার্যকর কারণে যদি কোনও কারণে সেখানে না থাকে তবে আপনি এখনও লগ ইন করতে পারেন।
লগইন শেল হিসাবে বাশ চালাতে হবে কিনা আপনার একটি পছন্দ আছে। এটি লগইন শেল তৈরির একমাত্র প্রধান পার্থক্য হ'ল এটি লোড হবে ~/.bash_profileবা হবে ~/.profile। সুতরাং আপনি যদি লগইন শেল হিসাবে ব্যাশ চালনা করেন তবে খুব সতর্কতা অবলম্বন করুন যাতে ~/.bash_profileবাশ পুনরাবৃত্তভাবে চালিত না হয় সেদিকে খেয়াল রাখুন ~/.profile। ~/.profileKsh এর চেয়ে বাশ দ্বারা মৃত্যুদণ্ড কার্যকর করার কোনও আসল সুবিধা নেই , তাই আমি এটি না করার পরামর্শ দিই।
SHELLপরিবেশকে পরিবর্তনশীল বাশকেও সেট করুন , যাতে টার্মিনাল এমুলেটরগুলির মতো প্রোগ্রামগুলি সেই শেলটি শুরু করে।
বাশে স্যুইচ করার কোড এখানে। এটি শেষে রাখুন ~/.profile।
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash"
fi
fi
esac