বিভিন্ন ধরণের শাঁস রয়েছে। এসএসএইচ কমান্ড এক্সিকিউশন শেলটি একটি অ-ইন্টারেক্টিভ শেল, যেখানে আপনার সাধারণ শেল হয় লগইন শেল বা একটি ইন্টারেক্টিভ শেল। ম্যান বাশ থেকে বর্ণনা অনুসরণ করা হয়েছে:
লগইন শেল হ'ল এটিই যার যুক্তির প্রথম চরিত্র
শূন্য হ'ল একটি - বা একটি - লগিন বিকল্প দিয়ে শুরু হয়েছিল।
একটি ইন্টারেক্টিভ শেলটি অ-বিকল্প ছাড়াই শুরু হয়
আর্গুমেন্ট এবং -c বিকল্প ছাড়াই যার স্ট্যান্ডার্ড ইনপুট
এবং ত্রুটি উভয়ই টার্মিনালের সাথে সংযুক্ত (নির্ধারিত হিসাবে)
isatty (3)) দ্বারা বা একটি -i বিকল্প দিয়ে শুরু হয়েছিল। পিএস 1 হ'ল
সেট এবং $ - এর মধ্যে আমি অন্তর্ভুক্ত করি যদি বাশ ইন্টারেক্টিভ হয় তবে এ
এই অবস্থার পরীক্ষা করতে শেল স্ক্রিপ্ট বা একটি স্টার্টআপ ফাইল।
নিম্নলিখিত অনুচ্ছেদগুলিতে ব্যাশ এটি কার্যকর করে কীভাবে তা বর্ণনা করে
প্রারম্ভ ফাইল। যদি ফাইলগুলির কোনও উপস্থিত থাকে তবে তা হতে পারে না
পড়ুন, ব্যাশ একটি ত্রুটির খবর দেয়। টিল্ডগুলি ফাইলগুলিতে প্রসারিত হয়
নামগুলি টিলেডে সম্প্রসারণের নীচে বর্ণিত হিসাবে
অনুচ্ছেদ বিভাগ।
যখন বাশকে একটি ইন্টারেক্টিভ লগইন শেল বা হিসাবে হিসাবে ডাকা হয়
--login বিকল্প সহ একটি অ-ইন্টারেক্টিভ শেল, এটি প্রথমে
/ ইত্যাদি / প্রোফাইল ফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে
যে ফাইল বিদ্যমান। ফাইলটি পড়ার পরে এটি সন্ধান করে
in / .বাশ_ প্রোফাইল, ~ / .বাশ_লগিন এবং ~ /। প্রোফাইল, এতে
অর্ডার দেয় এবং প্রথমটি থেকে আদেশগুলি পড়ে এবং কার্যকর করে
এটি বিদ্যমান এবং পাঠযোগ্য। --Noprofile বিকল্পটি হতে পারে
শেলটি এই আচরণটি বাধা দিতে শুরু করা হলে ব্যবহার করা হবে
ior।
লগইন শেলটি যখন প্রস্থান করে, বাশ কমান্ডগুলি পড়ে এবং কার্যকর করে
ফাইলটি ~ / .bash_logout থেকে উপস্থিত থাকলে তা উপস্থিত থাকে।
একটি ইন্টারেক্টিভ শেল যা লগইন শেল নয় is
শুরু হয়েছে, বাশ reads / .bashrc থেকে আদেশগুলি পড়ে এবং কার্যকর করে,
যদি ফাইল উপস্থিত থাকে। এটি ব্যবহার করে বাধা দেওয়া হতে পারে
--norc বিকল্প। --Rcfile ফাইল বিকল্প বাশকে বাধ্য করবে
পরিবর্তে ফাইল থেকে কমান্ডগুলি পড়তে এবং সম্পাদন করতে
~ / .Bashrc।
যখন শশ চালানোর জন্য ব্যাশটি অ-ইন্টারেক্টিভভাবে শুরু করা হয়
স্ক্রিপ্ট, উদাহরণস্বরূপ, এটি BASH_ENV এর মধ্যে চলকটি সন্ধান করে
পরিবেশ, তার মানটিকে প্রসারিত করে যদি সেখানে উপস্থিত হয়,
এবং পড়ার জন্য কোনও ফাইলের নাম হিসাবে প্রসারিত মানটি ব্যবহার করে
এবং কার্যকর। নীচের কমান্ডের মতো বাশ আচরণ করে
মৃত্যুদন্ড কার্যকর করা হয়েছিল:
যদি [-n "$ BASH_ENV"]; তারপর। "$ BASH_ENV"; ফাই
তবে PATH ভেরিয়েবলের মান অনুসন্ধান করতে ব্যবহৃত হয় না
ফাইল নামের জন্য।