এই আর্টিকেলটি নিচের ফাইলগুলো এক্সিকিউট 되는 ক্রম ব্যাখ্যা করবে:
- /etc/profile
- ~/.bash_profile
- ~/.bashrc
- ~/.bash_login
- ~/.profile
- ~/.bash_logout
ইন্টারেক্টিভ লগইন শেলের জন্য এক্সিকিউশন সিকোয়েন্স
নিচের সুডো কোড এই ফাইলগুলো এক্সিকিউশনের সিকোয়েন্স ব্যাখ্যা করে।
execute /etc/profile IF ~/.bash_profile exists THEN execute ~/.bash_profile ELSE IF ~/.bash_login exist THEN execute ~/.bash_login ELSE IF ~/.profile exist THEN execute ~/.profile END IF END IF END IF
যখন আপনি ইন্টারেক্টিভ শেল থেকে লগআউট করবেন, তখন এক্সিকিউশনের সিকোয়েন্স হবে নিচের মত:
IF ~/.bash_logout exists THEN execute ~/.bash_logout END IF
দয়া করে নোট করুন যে /etc/bashrc ~/.bashrc দ্বারা এক্সিকিউট হয় নিচের মত:
# cat ~/.bashrc if [ -f /etc/bashrc ]; then . /etc/bashrc fi
ইন্টারেক্টিভ নন-লগইন শেলের জন্য এক্সিকিউশন সিকোয়েন্স
নন-লগইন ইন্টারেক্টিভ শেল লঞ্চ করার সময়, এক্সিকিউশনের সিকোয়েন্স হবে নিচের মত:
IF ~/.bashrc exists THEN execute ~/.bashrc END IF
নোট: যখন একটি নন-ইন্টারেক্টিভ শেল স্টার্ট হয়, তখন এটি ENV এনভায়রনমেন্ট ভেরিয়েবল খুঁজে বেড়ায়, এবং ENV ভেরিয়েবলে উল্লেখিত ফাইলনেমটি এক্সিকিউট করে।
এক্সিকিউশন সিকোয়েন্স টেস্ট করা
এক্সিকিউশন সিকোয়েন্স টেস্ট করার একটি উপায় হলো এই ফাইলগুলিতে আলাদা আলাদা PS1 ভ্যালু যোগ করে রি-লগইন করা এবং দেখা লিনাক্স প্রম্পট কোন PS1 ভ্যালু পিক আপ করেছে। এর আগে আমরা আলোচনা করেছিলাম কীভাবে PS1 ব্যবহার করে আপনার লিনাক্স প্রম্পটকে ফাংশনাল এবং স্টাইলিশ বানানো যায়।
১. /etc/profile এক্সিকিউট হয়। /etc/profile-এ নিচের PS1 লাইনটি যোগ করুন এবং রি-লগইন করুন যাতে লিনাক্স প্রম্পট /etc/profile-এ সেট করা PS1 ভ্যালুতে পরিবর্তন হয়।
# grep PS1 /etc/profile PS1="/etc/profile> " [Note: re-login to see the prompt change as shown below] Last login: Sat Sep 27 16:43:57 2008 from 192.168.1.2 /etc/profile>
নিশ্চিত করুন যে ~/.bash_profile-এ কোনো PS1 নেই যাতে উপরের কাজটি সঠিকভাবে হয়।
২. ~/.bash_profile এক্সিকিউট হয়: ~/.bash_profile, ~/.bash_login, ~/.profile এবং ~/.bashrc-এ নিচের PS1 যোগ করুন। রি-লগইন করুন যাতে লিনাক্স প্রম্পট ~/.bash_profile-এ সেট করা PS1 ভ্যালুতে পরিবর্তন হয় নিচের মত।
/etc/profile> grep PS1 ~/.bash_profile export PS1="~/.bash_profile> " /etc/profile> grep PS1 ~/.bash_login export PS1="~/.bash_login> " /etc/profile> grep PS1 ~/.profile export PS1="~/.profile> " /etc/profile> grep PS1 ~/.bashrc export PS1="~/.bashrc> " [Note: Upon re-login, it executed /etc/profile first and ~/.bash_profile next. So, it took the PS1 from ~/.bash_profile as shown below. It also did not execute ~/.bash_login, as ~/.bash_profile exists] Last login: Sat Sep 27 16:48:11 2008 from 192.168.1.2 ~/.bash_profile>
৩. ~/.bash_login এক্সিকিউট হয়। .bash_profile-কে অন্য নামে রিনেম করুন। রি-লগইন করুন যাতে লিনাক্স প্রম্পট ~/.bash_login-এ সেট করা PS1 ভ্যালুতে পরিবর্তন হয় নিচের মত।
~/.bash_profile> mv .bash_profile bash_profile_not_used [Note: Upon re-login, it executed /etc/profile first. Since it cannot find ~/.bash_profile, it executed ~/.bash_login] Last login: Sat Sep 27 16:50:55 2008 from 192.168.1.2 ~/bash_login>
৪. ~/.profile এক্সিকিউট হয়। .bash_login-কে অন্য নামে রিনেম করুন। রি-লগইন করুন যাতে লিনাক্স প্রম্পট ~/.profile-এ সেট করা PS1 ভ্যালুতে পরিবর্তন হয় নিচের মত।
~/.bash_login> mv .bash_login bash_login_not_used [Note: Upon re-login, it executed /etc/profile first. Since it cannot find ~/.bash_profile and ~/.bash_login, it executed ~/.profile] Last login: Sat Sep 27 16:56:36 2008 from 192.168.1.2 ~/.profile>
৫. ~/.bashrc নন-লগইন শেল টেস্টের জন্য এক্সিকিউট হয়। কমান্ড প্রম্পটে “bash” এক্সিকিউট করলে আরেকটি নন-লগইন শেল मिलবে, যা .bashrc আহ্বান করবে নিচের মত।
~/.profile> bash [Note: This displays PS1 from .bashrc as shown below.] ~/.bashrc> exit exit [Note: After exiting from non-login shell, we are back to login shell] ~/.profile>
যদি আপনি এই আর্টিকেলটি পছন্দ করেন, দয়া করে এটিকে del.icio.us-এ বুকমার্ক করুন এবং Stumble it করুন।