.bashrc
এবং .bash_profile
হয় না স্ক্রিপ্ট। এগুলি কনফিগারেশন ফাইল যা প্রতিবার উত্স হয়bash
2 টির মধ্যে একটিতে কার্যকর করা হয়:
আবাহন ব্যাশ মানুষ পৃষ্ঠার অধ্যায় কী প্রাসঙ্গিক হয়।
একটি লগইন শেল এমন একটি যার আর্গুমেন্টের প্রথম অক্ষর a -
, বা একটি দিয়ে শুরু হয়েছিল--login
বিকল্প।
একটি ইন্টারেক্টিভ শেলটি অ-বিকল্প যুক্তি ছাড়াই এবং -c
বিকল্প ব্যতীত যার স্ট্যান্ডার্ড ইনপুট এবং ত্রুটি উভয় টার্মিনালের সাথে সংযুক্ত থাকে (যেমন নির্ধারিত হিসাবে isatty(3))
, বা -i
বিকল্পটি দিয়ে শুরু করা হয়েছিল । পিএস 1 সেট করা হয়েছে এবং ইন্টারেক্টিভ থাকলে $-
অন্তর্ভুক্ত i
থাকলে bash
শেল স্ক্রিপ্টকে অনুমতি দেয় এমনটিই একটি ইন্টারেক্টিভ শেল হয় started বা এই স্টেটটি পরীক্ষা করতে একটি স্টার্টআপ ফাইল।
নিম্নলিখিত অনুচ্ছেদে বর্ণনা করা হয়েছে যে কীভাবে bash
এটির শুরু ফাইলগুলি কার্যকর করে। যদি ফাইলগুলির মধ্যে কোনও উপস্থিত থাকে তবে এটি পড়া যায় না, ব্যাশ একটি ত্রুটির কথা জানায়। টিলড চিহ্ন হিসাবে অধীনে নীচে বর্ণিত ফাইলের নাম মধ্যে প্রসারিত হয়
টিল্ডা সম্প্রসারণ মধ্যে সম্প্রসারণ অধ্যায়।
যখন বাশকে একটি ইন্টারেক্টিভ লগইন শেল বা বিকল্প হিসাবে একটি ইন্টারেক্টিভ শেল হিসাবে ডাকা হয় --login
, এটি প্রথমে ফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে /etc/profile
, যদি সেই ফাইলটি বিদ্যমান থাকে। যে ফাইল পড়ার পর, এটা জন্য দেখায় ~/.bash_profile
,
~/.bash_login
এবং ~/.profile
, যাতে, এবং পড়ে এবং প্রথম এক যে বিদ্যমান এবং পাঠযোগ্য থেকে, executes কমান্ড।
--noprofile
বিকল্প ব্যবহার করা যেতে পারে যখন শেল এই আচরণ বাধা হতে শুরু করেছে।
যখন কোনও লগইন শেলটি প্রস্থান করে, বাশ ~/.bash_logout
উপস্থিত থাকে তা ফাইল থেকে আদেশগুলি পড়ে এবং সম্পাদন করে ।
লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি যখন শুরু হয়, বাশ ~/.bashrc
সেই ফাইলটি উপস্থিত থাকলে কমান্ডগুলি পড়ে এবং কার্যকর করে । --norc
বিকল্পটি ব্যবহার করে এটি বাধা দেওয়া হতে পারে । --rcfile file
বিকল্প পড়া এবং পরিবর্তে ফাইল থেকে কমান্ড চালানো ব্যাশ বাধ্য করা হবে ~/.bashrc
।
যখন তারা কমান্ড লাইন সুইচ মাধ্যমে লোড পেতে আপনি নিয়ন্ত্রণ করতে পারেন, --norc
এবং --noprofile
। আপনি যে জায়গাটি --rcfile
স্যুইচটি ব্যবহার করে বোঝা হয়ে যায় সেখান থেকেও ওভাররাইড করতে পারেন।
যেমন অন্যরা উল্লেখ করেছে আপনি source <file>
কমান্ড ব্যবহার করে বা এর ব্যবহারের মাধ্যমে এই ফাইলগুলি কীভাবে লোড হবে তা আপনি নকল করতে পারেন. <file>
।
নিম্নলিখিত হিসাবে এই কার্যকারিতা চিন্তা করা ভাল:
- খালি একটি খালি পরিবেশ দিয়ে শুরু হয়
- বাশ তারপরে এই ফাইলগুলির মধ্যে একটি খুলবে (এটি কীভাবে ইন্টারেক্টিভ বা লগইন হিসাবে ডাকা হয়েছিল তার উপর নির্ভর করে এবং ...
- ... লাইন লাইন ফাইলের মধ্যে প্রতিটি কমান্ড কার্যকর করে ...
- সম্পূর্ণ হওয়ার পরে ইনপুটটির জন্য অপেক্ষা করে প্রম্পটের আকারে নিয়ন্ত্রণ দেয়
আহ্বান করার পদ্ধতি
এই বিষয়টি প্রতি একবারে একবারে উপস্থিত হবে বলে মনে হয়, তাই অনুরোধ করার বিভিন্ন উপায় bash
এবং এর ফলে কী ঘটেছিল তার জন্য এখানে একটি সামান্য চিটশিট দেওয়া আছে NOT দ্রষ্টব্য: "উত্সাহিত $ HOME / .Bashrc" এবং "উত্সযুক্ত" বার্তা যুক্ত করার জন্য আমি সাহায্য করতে চাই "নিজ নিজ ফাইলগুলিতে হোম / .bash_profile"।
বেসিক কল
বাশ -i
$ bash -i
sourced /home/saml/.bashrc
বাশ-এল
$ bash -l
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash -il-or- bash -li
$ bash -il
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
বাশ-সি "..সিএমডি .."
$ bash -c 'echo hi'
hi
দ্রষ্টব্য: লক্ষ্য করুন যে -c
স্যুইচটি কোনও ফাইলই উত্স করেনি!
কনফিগার ফাইলগুলি পড়া থেকে অক্ষম করা হচ্ছে
bash --norc
$ bash --norc
bash-4.1$
bash --noprofile
$ bash --noprofile
sourced /home/saml/.bashrc
bash --norc -i
$ bash --norc -i
bash-4.1$
bash --norc -l
$ bash --norc -l
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash --noprofile -i
$ bash --noprofile -i
sourced /home/saml/.bashrc
bash --noprofile -l
$ bash --noprofile -l
bash-4.1$
bash --norc -i-or- bash --norc -l
$ bash --norc -c 'echo hi'
hi
ব্যাশ কল করার আরও রহস্যজনক উপায়
bash --rcfile OME হোম / .bashrc
$ bash -rcfile ~/.bashrc
sourced /home/saml/.bashrc
bash --norc --rcfile OME HOME / .Bashrc
$ bash --norc -rcfile ~/.bashrc
bash-4.1$
এগুলি ব্যর্থ হয়েছে
bash -i -rcfile ~ / .bashrc
$ bash -i -rcfile ~/.bashrc
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash: /home/saml/.bashrc: restricted: cannot specify `/' in command names
bash -i -rcfile .bashrc
$ bash -i -rcfile .bashrc
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash: .bashrc: command not found
সম্ভবত আরও কিছু আছে তবে আপনি পয়েন্টটি পাবেন, আশা করি ...
আর কি?
অবশেষে যদি আপনি এই বিষয়টিতে এতই আকর্ষিত হন যে আপনি এটিতে আরও পড়তে / অন্বেষণ করতে চান তবে আমি বাশ বিগিনিয়ার্স গাইডটি বিশেষভাবে বিভাগ: 1.2 এ একবার দেখার পরামর্শ দিই । বোর্ন অ্যাগেইন শেলের সুবিধা । এর অধীনে থাকা বিভিন্ন উপ- বিভাগগুলি , "১.২.২.১.২০১৮" "1.২.২.৩.৩. ইন্টারেক্টিভ শেল আচরণ" এর মাধ্যমে আপনি যেভাবে বিভিন্নভাবে ডাকতে পারেন তার মধ্যে নিম্ন স্তরের পার্থক্য ব্যাখ্যা করে bash
।