bashএটি শেল বা সাধারণ প্রোগ্রামিং ল্যাঙ্গুয়েজের (যেমন perlবা python) আলাদাভাবে কাজ করে ।
নকশা করে, সেটিংস ~/.bash_profile, ~/.bashrcইত্যাদি ব্যবহারকারীদের জিনিষ যখন সেট করতে হয় bashনাটকগুলি একটি শেল ভূমিকা (লগইন শেল, interractive শেল)। আপনার xterm( পরিবেশগত শেল) বা sshসেশনে (লগইন শেল) বা কনসোলে (লগইন শেল) পরিবেশের কথা চিন্তা করুন ।
অন্যদিকে, bashএকটি শক্তিশালী প্রোগ্রামিং ভাষাও systemd- এটি পরিষেবা পরিচালনার জন্য অনেকগুলি স্ক্রিপ্ট সম্পর্কে চিন্তাভাবনা করে - যার জন্য ভিন্ন ধরণের কাজের প্রয়োজন হয়। উদাহরণস্বরূপ, যখন কোনও বিকাশকারী কোনও সিস্টেম স্ক্রিপ্ট বা কোনও bashপ্রোগ্রাম লিখছেন , তখন সে ~/.bash_profileস্বয়ংক্রিয়ভাবে ব্যবহারকারীর উত্স উত্স করতে পছন্দ করবে না । এটি একটি শেল নয়, একটি সাধারণ প্রোগ্রাম। একটি সাধারণ প্রোগ্রাম (প্রোগ্রাম সহ bash) স্বাভাবিকভাবেই বর্তমান চলমান সংশোধন (শেল) থেকে সেটিংসের উত্তরাধিকারী হবে , তবে সেগুলি সেট করে না ।
আমরা যদি জন্য একটি প্রোগ্রাম লিখতে cronমধ্যে bash-এটা শুধু লেখা যেতে ঘটবে bash; আসলে, আমরা এটা লিখতে পারে pythonবা perlবা অন্য কোন progamming language- তারপর আমরা উৎস একটি বিকল্প থাকতে পারে bashএর ~/.bash_profile(পড়া: ব্যবহারকারীর শেল, যা শুধু আপনার প্রোগ্রামিং ভাষা একই ভাষা হতে হবে সেটিং):
[ -f /home/user/.bash_profile ] && . /home/user/.bash_profile
তবে, যদি সেই নির্দিষ্ট ব্যবহারকারী bashতার শেল হিসাবে ব্যবহার না করেন? তিনি / সে ব্যবহার করতে পারেন zsh, ksh, fish, ইত্যাদি সুতরাং, যে অনুশীলন সত্যিই কাজ করবে না যখন জনগণের ব্যবহারের জন্য প্রোগ্রাম লেখা।
সুতরাং, আপনি উত্স করতে পারেন ~/.bash_profileযদি আপনি ভাবেন যে এটি কার্যকর হবে। কিন্তু, এখানে, তাই না কিনা আমরা সোর্স করার জন্য একটি ফাইল পারবেন, এটা সম্পর্কে কিভাবে যে উচিত সিস্টেম কাজ করে: নকশা ধারণা । সংক্ষেপে: আমাদের bash2 টি ভূমিকা থাকা শেল এবং প্রগতিশীল ভাষা হিসাবে দেখা উচিত । তারপরে সবকিছু বুঝতে খুব সহজ হবে।
.bashrcহয়েছে একটি লাইন এটি চালু করা থেকে স্টপ নন-ইন্টারেক্টিভ শেল হবে।