سؤال ما هو ملف .bashrc؟


قذائف يونكس عند البدء في قراءة .bashrc ملف وتنفيذ أوامر مكتوبة فيه. ما هو هذا الملف وماذا ينفذ؟


92
2017-09-30 15:54


الأصل


حاول فتح الملف في محرر نص - وهو بنص عادي. - Will Bickford


الأجوبة:


في الواقع ، إنه bash على وجه التحديد أن يقرأ .bashrc (و /etc/bash.bashrc). هناك الكثير من القذائف المختلفة.

ال صفحة باش الرجل (من قبل بريان فوكس وشيت رامي ؛ أيضا info page "Bash Startup Files") هو المرجع الموثوق:

عندما قذيفة التفاعلية ليست كذلك   بدأ تسجيل الدخول شل ، باش يقرأ   وينفذ الأوامر من ~/.bashrc،   إذا كان هذا الملف موجودًا. هذا قد يكون   تحول دون استخدام --norc اختيار.   ال --rcfile خيار ملف سيفرض   باش لقراءة وتنفيذ الأوامر من   ملف بدلا من ~/.bashrc.

عندما يتم بدء باش   غير تفاعلي ، لتشغيل قذيفة   النصي ، على سبيل المثال ، فإنه يبحث عن   متغير BASH_ENV في البيئة،   يوسع قيمته إذا ظهر هناك ،   ويستخدم القيمة الموسعة مثل   اسم ملف للقراءة والتنفيذ.   باش يتصرف كما لو كان التالي   تم تنفيذ الأمر:

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  

لكن قيمة PATH متغير لا يستخدم للبحث   لاسم الملف.

الملف هو مجرد أوامر قذيفة. يتم استخدامه عادةً لتغيير المطالبات وتعيين متغيرات البيئة وتعريف إجراءات shell. تقليديا ، الملف .profile يستخدم لهذا الغرض ، ولكن bash يحتوي على العديد من الإضافات التي يحتاج إليها ملف بدء التشغيل الخاص به للمستخدمين الذين يرغبون في وضعه bashisms في ملفات بدء التشغيل.

"لا قذيفة تسجيل الدخول"تعني أشياء مثل إطلاق البرنامج النصي وعادة ما تكون النوافذ الطرفية التي بدأها مديرو النوافذ. أحيانًا أقوم بإعداد أنظمة * nix .bashrc و BASH_ENV مجرد مصدر .profile. طالما أنك لا تبتعد عن أوامر POSIX shell ، فستحصل على نفس التهيئة في أي قوقعة.

انها قيمة خاصة عندما sh هو حقا bashالذي يحدث في بعض الأحيان. للقيام بهذا الاستخدام:

. .profile

أحد الأسباب التي تجعل هذا الأمر معقدًا جدًا هو أنه في بعض الأحيان يضع الأشخاص أشياء تنتج مخرجات إلى ملفات بدء تشغيل shell ، أو يقومون بتعيين مطالبات غير مشروطة. هذا يسبب الكثير من المشاكل عند تشغيل برامج شل وأوامر backtick داخل اللغات ، ناهيك system(3) من برامج C. الطريقة bash تم تصميم برنامج التشغيل ، على ما أظن ، ليكون أحد الملفات حيث يكون الإعداد والإخراج سريعًا وملفًا واحدًا حيث لا يكون. تقليديا ، سيتم إجراء اختبار وقت التشغيل للتمييز بين التفاعلية ، على سبيل المثال ، التحقق لمعرفة ما إذا تم تعيين المطالبة.


61
2017-09-30 15:57



اجابة جيدة. فقط بعض الاقتباس: الملف هو مجرد أوامر قذيفة. يتم استخدامه عادةً لتغيير المطالبات وتعيين متغيرات البيئة وتعريف إجراءات shell. - smwikipedia
لا أحد يعرف ما هو الجزء rc من .bashrc / .zshrc يعني؟ - WORMSS
WORMSS: سؤال جيد! أنت لست الوحيد الذي يتساءل عن ذلك. - Caleb Xu


عندما يبدأ Bash ، فإنه ينفذ الأوامر في مجموعة متنوعة من البرامج النصية المختلفة.

عندما يتم استدعاء Bash ك shell تسجيل دخول تفاعلي ، فإنه يقرأ وينفذ الأوامر أولاً من الملف / etc / profile ، إذا كان هذا الملف موجودًا. بعد قراءة هذا الملف ، فإنه يبحث عن ~ / .bash_profile و ~ / .bash_login و ~ / .profile ، بهذا الترتيب ، ويقرأ وينفذ الأوامر من أولها موجود وقابل للقراءة.

عندما تخرج قذيفة الدخول ، يقوم Bash بقراءة وتنفيذ الأوامر من الملف ~ / .bash_logout ، إذا كان موجودًا.

عند بدء تشغيل shell التفاعلي الذي لا يعد shell تسجيل دخول ، يقوم Bash بقراءة وتنفيذ الأوامر من ~ / .bashrc ، إذا كان هذا الملف موجودًا. قد يتم منع هذا باستخدام الخيار --norc. سيقوم خيار ملف -rcfile بإجبار Bash لقراءة وتنفيذ الأوامر من الملف بدلاً من ~ / .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 $ "

12
2017-09-30 15:56



لماذا .profile بعد .bash_profile؟ أي منطق؟ - Pacerier


يجب أن يحتوي على أوامر "تهيئة" مختلفة لقسمك ، على سبيل المثال:

  • خلق الأسماء المستعارة مفيدة (على سبيل المثال alias ll='ls -l').
  • إضافة المزيد من الدلائل إلى PATH.
  • وضع متغيرات البيئة الجديدة.

9
2017-09-30 15:56



ما هو استخدام الاسم المستعار؟ - pineapple
@ Pineapple: الاسم المستعار هو طريقة لتشغيل الأمر ، والذي قد يكون طويلاً ، بأحد أقصر. على سبيل المثال ، الاسم المستعار ll='ls -l' يتيح لك الكتابة ll لتنفيذ ls -l أمر. - Wuffers