উত্তর:
আসলে, এটি bash
বিশেষত যা .bashrc
(এবং /etc/bash.bashrc
) পড়ে । বিভিন্ন শেল প্রচুর আছে।
ব্যাশ man পৃষ্ঠা (ব্রায়ান ফক্স এবং Chet রামে করে; এছাড়াও তথ্য পৃষ্ঠা "ব্যাশ প্রারম্ভ Files" & ) প্রামাণিক রেফারেন্স:
লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি শুরু করা হলে, বাশ
~/.bashrc
সেই ফাইলটি উপস্থিত থাকলে কমান্ডগুলি পড়ে এবং কার্যকর করে ।--norc
বিকল্পটি ব্যবহার করে এটি বাধা দেওয়া হতে পারে ।--rcfile
ফাইল বিকল্প পড়া এবং পরিবর্তে ফাইল থেকে কমান্ড চালানো ব্যাশ বাধ্য করা হবে~/.bashrc
।যখন ব্যাশটি অ-ইন্টারেক্টিভভাবে শুরু করা হয়, শেল স্ক্রিপ্টটি চালানোর জন্য, উদাহরণস্বরূপ, এটি
BASH_ENV
পরিবেশের পরিবর্তনশীলগুলির সন্ধান করে, সেখানে উপস্থিত হলে এর মানটি প্রসারিত করে এবং পড়ার এবং কার্যকর করার জন্য ফাইলের নাম হিসাবে প্রসারিত মানটি ব্যবহার করে। বাশ এমন আচরণ করে যেন নিম্নলিখিত আদেশটি কার্যকর করা হয়েছিল:if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
তবে
PATH
ভেরিয়েবলের মান ফাইলের নাম অনুসন্ধান করতে ব্যবহৃত হয় না।
ফাইলটি কেবল শেল কমান্ড। এটি সাধারণত প্রম্পট পরিবর্তন করতে, পরিবেশের ভেরিয়েবলগুলি সেট করতে এবং শেল পদ্ধতিগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয়। Ditionতিহ্যগতভাবে.profile
, ফাইলটি এই উদ্দেশ্যে ব্যবহৃত হয়, তবে bash
এর অনেকগুলি এক্সটেনশান রয়েছে যে এটি ব্যবহারকারীদের জন্য নিজস্ব স্টার্টআপ ফাইলের প্রয়োজন যারা স্টার্টআপ ফাইলগুলিতে বাশিজম রাখতে চান ।
" লগইন শেল নয় " এর অর্থ উইন্ডো পরিচালকদের দ্বারা স্ক্রিপ্ট লঞ্চ এবং সাধারণত টার্মিনাল উইন্ডোগুলির মতো জিনিস। কখনও কখনও আমি আছে .bashrc
এবং * BASH_ENV
উত্স উত্স জন্য nix সিস্টেম সেট আপ .profile
। যতক্ষণ আপনি পসিক্স শেল কমান্ডের বাইরে বিপথগামী না হন ততক্ষণ আপনি কোনও শেলের মধ্যে একই সূচনা পাবেন।
এটি বিশেষত মূল্যবান যখন sh
সত্যই হয় bash
, যা কখনও কখনও ঘটে। এই ব্যবহার করতে:
. .profile
এটি এত জটিল হওয়ার একটি কারণ হ'ল কখনও কখনও লোকেরা শেল স্টার্টআপ ফাইলগুলিতে আউটপুট উত্পাদন করে এমন কিছু জিনিস রাখে বা তারা নিঃশর্তভাবে প্রম্পট সেট করে। ভাষা প্রোগ্রামের মধ্যে শেল প্রোগ্রাম এবং ব্যাকটিক কমান্ড চলাকালীন system(3)
সি প্রোগ্রাম থেকে উল্লেখ না করার ফলে এটি প্রচুর সমস্যার সৃষ্টি করে। পথ bash
শুরুর পাচ্ছি তা কই পরিকল্পিত, আমি মনে করি, একটি ফাইল যেখানে আউটপুট এবং প্রম্পট সেটিং ঠিক আছে এবং এক ফাইল আছে। Ditionতিহ্যগতভাবে, একটি রান-টাইম পরীক্ষা ইন্টারঅ্যাক্টিভিটি আলাদা করার জন্য করা হবে, উদাহরণস্বরূপ, প্রম্পটটি সেট করা আছে কিনা তা পরীক্ষা করে দেখুন।
যখন বাশ শুরু হয়, এটি বিভিন্ন স্ক্রিপ্টের বিভিন্ন কমান্ড সম্পাদন করে।
বাশকে একটি ইন্টারেক্টিভ লগইন শেল হিসাবে ডাকা হলে, এটি প্রথমে ফাইল / ইত্যাদি / প্রোফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে। এই ফাইলটি পড়ার পরে, এটি সেই ক্রমে ash / .bash_profile, ~ / .bash_login, এবং ~ /। প্রোফাইলে অনুসন্ধান করে এবং উপস্থিত এবং পঠনযোগ্য যা প্রথমটি থেকে আদেশগুলি পড়ে এবং কার্যকর করে।
লগইন শেলটি যখন প্রস্থান করে, বাশ উপস্থিত থাকলে if / .bash_logout ফাইলটি থেকে আদেশগুলি পড়ে এবং কার্যকর করে।
লগইন শেল নয় এমন একটি ইন্টারেক্টিভ শেলটি যখন শুরু হয়, বাশ file / .bashrc থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে, যদি সেই ফাইলটি বিদ্যমান থাকে। এটি --norc বিকল্প ব্যবহার করে বাধা দেওয়া হতে পারে। --Rcfile ফাইল অপশনটি বাশকে from / .bashrc এর পরিবর্তে ফাইল থেকে আদেশগুলি পড়তে এবং সম্পাদন করতে বাধ্য করবে।
http://en.wikipedia.org/wiki/Bash_(Unix_shell)
এখানে কয়েকটি কৌশল এবং টিপস রয়েছে:
http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
আসুন আমরা প্রম্পটটি সেট করার চেষ্টা করি যাতে এটি আজকের তারিখ এবং হোস্টনামটি প্রদর্শন করতে পারে:
PS1="\d \h $ "
.profile
পরে .bash_profile
? কোন যুক্তি?
এটিতে আপনার শেলের জন্য বিভিন্ন "আরম্ভকরণ" কমান্ড থাকা উচিত, যেমন:
alias ll='ls -l'
)।ll='ls -l'
আপনাকে কমান্ডটি ll
কার্যকর করতে টাইপ করতে দেয় ls -l
।