লিনাক্স এবং, আমার জানা মতে, সমস্ত ইউনিক্স সিস্টেম, টার্মিনাল এমুলেটরগুলি ডিফল্টরূপে ইন্টারেক্টিভ, লগ-ইন শেল চালায়। এর অর্থ হ'ল বাশের জন্য, শুরু করা শেলটি:
যখন একটি ইন্টারেক্টিভ শেল করে একটি লগ-ইন শেল নয় আরম্ভ করা হলে ব্যাশ পড়ে এবং থেকে, executes কমান্ড
/etc/bash.bashrc
এবং~/.bashrc
, যদি এই ফাইলগুলি বিদ্যমান।--norc
বিকল্পটি ব্যবহার করে এটি বাধা দেওয়া হতে পারে ।
--rcfile
ফাইল বিকল্প পড়া এবং পরিবর্তে ফাইল থেকে কমান্ড চালানো ব্যাশ বাধ্য করা হবে/etc/bash.bashrc
এবং~/.bashrc
।
এবং লগইন শেলগুলির জন্য:
যখন বাশকে একটি ইন্টারেক্টিভ লগইন শেল বা বিকল্প হিসাবে একটি ইন্টারেক্টিভ শেল হিসাবে ডাকা হয়
--login
, এটি প্রথমে ফাইল থেকে কমান্ডগুলি পড়ে এবং কার্যকর করে/etc/profile
, যদি সেই ফাইলটি বিদ্যমান থাকে। যে ফাইল পড়ার পর, এটা জন্য দেখায়~/.bash_profile
,~/.bash_login
এবং~/.profile
, যাতে, এবং পড়ে এবং প্রথম এক যে বিদ্যমান এবং পাঠযোগ্য থেকে, executes কমান্ড।
--noprofile
বিকল্প ব্যবহার করা যেতে পারে যখন শেল এই আচরণ বাধা হতে শুরু করেছে।
ওএসএক্সে, তবে, ডিফল্ট শেলটি (যা বাশ হয়) প্রকৃত সূত্র ~/.bash_profile
বা ~.profile
অন্য কথায়, এটি লগইন শেলের মতো কাজ করে।
মূল প্রশ্ন : ডিফল্ট ইন্টারেক্টিভ শেলটি ওএসএক্সে লগইন শেল কেন? ওএসএক্স কেন এটি করতে বেছে নিয়েছিল? এর অর্থ এই যে সমস্ত নির্দেশাবলী / শেল ভিত্তি জিনিসের জন্য টিউটোরিয়াল যে অনেক কিছু পরিবর্তন উল্লেখ ~/.bashrc
উপর ওএসএক্স বা তদ্বিপরীত জন্য ব্যর্থ হবে ~/.profile
। তবুও, অ্যাপলকে অনেক অভিযোগ দায়ের করা যেতে পারে, অযোগ্য বা বুদ্ধিমান দেবদের ভাড়া নেওয়া সেগুলির মধ্যে একটি নয়। সম্ভবত, তাদের এটির জন্য ভাল কারণ ছিল, তবে কেন?
সাবেকশনস: টার্মিনাল.এপগুলি আসলে একটি ইন্টারেক্টিভ লগইন শেল চালায় বা তারা বাশের আচরণ পরিবর্তন করেছে? এটি টার্মিনাল.অ্যাপের সাথে নির্দিষ্ট বা এটি টার্মিনাল এমুলেটর থেকে পৃথক?