দুটি যুক্ত কারণ রয়েছে যে .profile
ফাইলটি রাখার সময় এলিয়াস সবসময় কাজ করে না । প্রথমটি হ'ল .profile
(বা .bash_profile
) ফাইলটি কেবল লগইন শেলের জন্য চালিত হয়। যদি আপনি এক্স এর অধীনে একটি টার্মিনাল উইন্ডোতে ব্যাশ শুরু করছেন, আপনার টার্মিনাল এমুলেটর (যেমন জিনোম-টার্ম্যানল) সম্ভবত লগইন শেল হিসাবে ব্যাশ চালাচ্ছে না। [আপনি যদি চান তবে এটি পরিবর্তন করার বেশিরভাগ বিকল্প রয়েছে তবে ডিফল্ট (যাইহোক জিনোম-টার্মালের জন্য) এটি লগইন শেল হিসাবে চালানো নয়]]
শেলটি একটি ইন্টারেক্টিভ শেল .bashrc
হবে এবং এটি চালানো হবে।
তবে এক্স সেশন শুরু হওয়ার সময় সাধারণত ব্যাশটি লগইন শেল হিসাবে চালিত হয়। সুতরাং যদি ওল্ড কমান্ডগুলি থাকে তবে সেগুলি .profile
PATH ইত্যাদির মতো পরিবেশগত ভেরিয়েবল নির্ধারণের সাথে সাথে সম্পাদন করা হবে etc. টার্মিনাল উইন্ডোটি যখন খোলা থাকে তখন বাশের একটি নতুন উদাহরণ প্রম্পট করার জন্য চালানো হয়, এবং সেই টার্মিনাল উইন্ডোতে কমান্ড কার্যকর করে। পরিবেশের ভেরিয়েবলের বিপরীতে, এলিয়াসগুলি ব্যাশের একটি উদাহরণ থেকে এটির দ্বারা শুরু করা কোনও নতুনতে রফতানি করা যায় না। সুতরাং নতুন শেলটিতে এলিয়াসগুলি প্রেরণ করা হয় না।
এটি দেখতে, এই পরীক্ষাটি ব্যবহার করে দেখুন:
export ROBERT=bob
alias james=jimmy
echo $ROBERT
alias james
bash #start a new bash instance
echo $ROBERT
alias james
exit #end the new bash instance and revert to the original one
echo $ROBERT
alias james
.bashrc
লগইন শেল হিসাবে এটি শুরু করার সময় ব্যাশ দ্বারা চালিত হয় না তা নোট করুন । সুতরাং আপনার এলিয়াসগুলি সেখানে রেখে দেওয়া সবসময় কাজ করবে না যতক্ষণ না আপনার .bashrc
কাছ থেকে আপনার উত্স নেওয়া হয় .profile
যা একটি খুব সাধারণ অভ্যাস।
gl
? প্রান্তিক? জিইউআই?