سؤال أين يمكن العثور على ملف .bashrc على نظام التشغيل Mac OS X Snow Leopard and Lion؟


أرغب في تثبيت rvm على جهاز Snow Leopard.

يقول أنا بحاجة إلى إضافة خط إلى بلدي .bashrc ملف (أنا أستخدم باش) ولكن أين هو بلدي .bashrc ملف؟


84
2018-05-30 21:03


الأصل


يجب عليك وضع الحل الخاص بك في إجابة وقبوله (عليك الانتظار لمدة يوم أو يومين قبل أن تسمح لك SU بذلك). وبهذه الطريقة يستطيع الأشخاص الذين يعانون من نفس المشكلة النظر إلى السؤال أن لديه إجابة. - Nifle
حله لا يختلف عن أعلى إجابة مصوتة .. - David Cowden
للتأكد فقط ، هذه ليست مشكلة من "Linux = .bashrc vs. Mac OS =. (bash_) profile" تعمل ملفات بدء تشغيل shell نفسها على Linux و Mac وملف .bashrc هو مكان أكثر ملاءمة للدورة إعدادات محددة. تستخدم على سبيل المثال tmux أو شاشة قد لا تكون لديك جلسات تسجيل دخول ولكنك لا تزال تريد أسماءك المستعارة. السبب الذي يجعل ماك مختلفًا هو أن معظم توزيعات لينكس ترسل ملفات تعريف النظام أو ملفات تعريف الهيكلية التي تفوض بالفعل (المصدر) bashrc. - eckes


الأجوبة:


فيما يتعلق المشكلة مع .bashrc في الاعلى:

على معظم الأنظمة ، ~/.bashrc يستخدم فقط عند بدء تشغيل متفاعل غير تسجيل الدخول، الصدف. ومع ذلك ، عند بدء تشغيل قذيفة جديدة غالبا ما تكون متفاعل تسجيل الدخول الصدف. لأن هذا هو تسجيل الدخول قذيفة ، و .bashrc يتم تجاهلها. للحفاظ على البيئة متناسقة بين قذائف غير تسجيل الدخول وتسجيل الدخول ، يجب عليك تحديد المصدر .bashrc منك .profile أو لديك .bash_profile.

راجع دليل Bash Reference Manual ، 6.2 باش ملفات بدء التشغيل

تم استدعاؤه كقاعدة تسجيل دخول تفاعلية ،   أو مع --login

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

تم استدعاؤه كقذيفة تفاعلية غير موقعة

عند بدء تشغيل shell التفاعلي الذي لا يمثل shell لتسجيل الدخول ، يقرأ Bash وينفذ   الأوامر من ~ / .bashrc ، إذا كان هذا الملف موجودًا.

لذلك ، عادة ، ~ / .bash_profile   يحتوي على الخط

   if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

بعد (أو قبل) أي عمليات تهيئة خاصة بتسجيل الدخول.

على جهاز Mac الخاص بي (Running Leopard) ، لم يكن هناك خط إلى المصدر ~/.bashrc. اضطررت لإضافة هذه الوظيفة بمفردي.

على بعض الأنظمة وأنظمة التشغيل الأخرى ، .bashrc من مصادر عالمية /etc/profile أو /etc/bash_profile ، أو يتم باستخدام ملفات القالب من /etc/skel.

أن نكون صادقين في التمييز بين .bashrc و .bash_profile غير مفهومة جيدا من قبل المجتمع. عندما يقول العديد من المطورين "أضف هذا إلى .bashrc" ، فإن ما يعنونه حقًا هو "أضف هذا إلى ملف .bash_profile". انهم يريدون وظيفة لتضاف الى حسابك تسجيل الدخول قذيفة (وهو .bash_profile) وليس لك غير تسجيل الدخول، الصدف. في الواقع ، لا يهم عادة وضع التهيئة .bashrc مقبولة.


75
2018-06-01 17:26



يقدم هذا الرابط نظرة عامة جيدة على أنواع القذائف وعندما يتم تحميل ملفات بدء التشغيل - hacktux.com/bash/bashrc/bash_profile - studgeek
ما هو المقصود بـ "مصدر" هنا؟ - elgrego
elgrego ، إليك وصفًا جيدًا: عندما يتم الحصول على ملف (عن طريق كتابة إما اسم الملف المصدر أو اسم الملف في سطر الأوامر) ، يتم تنفيذ سطور التعليمات البرمجية في الملف كما لو تم طباعتها في سطر الأوامر. نرى tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html - Stefan Lasiewski


لذلك تبين أنه في نظام Mac OS X Snow Leopard بالإضافة إلى Mac OS X Lion ، يتم استدعاء الملف الذي تم تحميله .profile، ليس .bashrc.

ما تريد القيام به هو إنشاء ملف في ~/.profile و نسميها .profile (إذا لم تكن موجودة بالفعل).

ضع أي معلومات تحتاج إلى تحميلها مع كل نسخة من bash هناك (شكرًا ، thepurplepixel).

زوجان من الملاحظات الجانبية:

  1. علامات الفترة أمام الملف بأنها غير مرئية إلى Finder و الأمر ls افتراضيا. لسرد الملفات غير المرئية باستخدام ls الأوامر من المحطة ، استخدم -a كمعلمة على هذا النحو: ls -a
  2. ال ~ يرمز الرمز ل /Users/YourUserName حيث YourUserName هو الاسم المختصر لاسم المستخدم الخاص بك.

تعديل: تشير صفحة كريس (بشكل صحيح) إلى أن كل ما تضعه في ملف .profile سيتم تطبيقه على أي قذيفة تستخدمها (مثل zhs و bash و et cetera). إذا كنت تريد أن تؤثر المحتويات على shell bash فقط ، ضع المحتويات في a .bash_profileملف بدلا من .profile ملف.


57
2017-12-20 23:51



تم الإجابة على سؤالك [بشكل صحيح] في 1 يونيو 2010 - بعد يوم واحد من سؤالك. بعد أكثر من عام ، ستعود وتقدّم نفس الإجابة وتقبل إجابتك الخاصة ... - David Cowden
في الواقع فإن إجابته تضيف تفاصيل أكثر من الإجابة المعطاة في 1 يونيو 2010. فهو يعالج المشكلة على وجه التحديد في نظام التشغيل Mac OS X والتي وجدتها مفيدة. - webworm
لاحظ أنه إذا .bash_profile موجود بالفعل في دليل منزلك ، ثم .profile الملف لن يقرأ! - Phani
لدي تثبيت جديد لنظام التشغيل Mac OS El capitan. لا يوجد الملف الشخصي ملف. فقط قم بإنشاء ملف .profile ويعمل. أنا شخصيا إعادة تسمية بلدي. bashrc إلى .profile. - Nicolas Thery


عليك أن تصنع بنفسك .bashrc. يمكنك ببساطة استخدام محرر النص لإنشاء ملف يسمى .bashrc (بدون امتداد) مع المحتويات التي تريدها وحفظها في دليل منزلك (/Users/YourUserName/).


4
2018-05-30 21:05



في الواقع ، هذا لم ينجح ، لكنك أرسلتني في الاتجاه الصحيح عندما أخبرتني أن أصنع ملفي الخاص. الملف الذي يعمل على تكوين Snow Leopard كان .profile ، وليس. bashrc (والذي لسبب ما لم يتم تحميله في نظام التشغيل هذا). سوف نشر تعليمات مفصلة في السؤال. شكر! - Yuval
Yuval: افتراضيًا ، .bashrc ستعمل ، ولكن فقط إذا لم يكن هناك .profile. أعتقد ~/.profile موجود بشكل افتراضي ، على الرغم من. يسرني أني استطعت المساعدة! (ويجب عليك وضع الحل الخاص بك في إجابة وقبوله للقراء المستقبليين لهذا السؤال). - squircle
أعتقد أن تعليقك حول فقط إذا لم يكن هناك .profile غير صحيح. سيعمل .bashrc داخل shell غير تسجيل دخول تفاعلي ، أو إذا كان مصدره .profile (.bash_profile ربما يكون مكانًا أفضل ، حيث إن .profile مخصص لقذيفة Bourne). .profile يتم استخدامه أثناء shell غير تسجيل الدخول التبادلي. - Stefan Lasiewski
Stefan هذا يبدو صحيحا ، ثم. أنا لست خبيرًا :) - squircle
لا أحد ؛). هذه الأشياء (.bashrc مقابل .profile مقابل .bash_profile مقابل .bash_login مقابل shell تسجيل الدخول التفاعلي مقابل shell غير تسجيل الدخول التفاعلي مقابل shell غير التبادلي) مربكة ، وكسرها وتجاوزها بواسطة العديد من البرامج النصية Unixes و shell. - Stefan Lasiewski


أجد أنه في نظام التشغيل 10.6.5 توجد إعدادات bash في "etc / bashrc". أعتقد أن هذا هو مواصفات toplevel للقذيفة.

ومع ذلك ، تحتاج إلى حساب الجذر لتعديله. يجب أن تبدأ المواصفات المحلية لكل مستخدم "~ / .bashrc" بالمقتطف التالي ، لقراءة إعدادات bash على مستوى النظام وتحميلها:

if [ -r /etc/bashrc ]; then
    . /etc/bashrc 
fi

أنا عادة إضافة الأسماء المستعارة في bashrc مستوى النظام بحيث يمكن لجميع المستخدمين الوصول إليها كذلك. إلا إذا كانوا لا يريدون استخدام الاختصارات والأسماء المستعارة.

حظا سعيدا!


3
2017-11-26 08:02



/ etc / profile (يتم تشغيله بواسطة shell shells) عبارة عن برنامج نصي عالمي لبدء التشغيل في bash والذي ينطبق على جميع المستخدمين ويوفر السلوكيات الافتراضية لقذائف تسجيل الدخول. ويتم تشغيلها / etc / bashrc ، والتي تحتوي على تخصيصات تنطبق على كل من قذائف الدخول وغير الموقعة. وبالمثل ، يجب على المستخدمين الفرديين إنشاء ملف ~ / .bash_profile يتم تشغيله ~ / .bashrc ، وهو المكان الذي يجب أن تكون فيه معظم التخصيصات ، ويجب تشغيل / ~ bashrc / etc / bashrc لترث السلوكيات الافتراضية للأصداف غير المسجلة. - Chris Page
بالنسبة للمستخدمين الفرديين ، من الأفضل إضافة هذه التخصيصات إلى الدليل الرئيسي في ~/.bashrc ، ليس /etc/bashrc. /etc/bashrc هي الإعدادات العامة لجميع المستخدمين على نظامك ، وهو على الأرجح ليس ما تريده. أيضا ، قد يأتي أبل على طول والتغيير /etc/bashrc بشكل دوري ، مما قد يؤدي إلى إزالة التخصيصات. - Stefan Lasiewski


استخدم ملف .profile لإضافة أي شيء يمكنك إضافته إلى ملف linux .bashrc.

فمثلا

PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit" 

1
2018-06-01 18:18



أوصي باستخدام ~ / .bash_profile (بدلاً من ~ /. ملف التعريف) ما لم تكن متأكدًا من أنك تريد أن تصبح التخصيصات الخاصة بك سارية المفعول في الأصداف الأخرى وأنها متوافقة. - Chris Page
للتأكد فقط ، هذه ليست مشكلة من "Linux = .bashrc vs. Mac OS =. (bash_) profile" تعمل ملفات بدء تشغيل shell نفسها على Linux و Mac وملف .bashrc هو مكان أكثر ملاءمة للدورة إعدادات محددة. تستخدم على سبيل المثال tmux أو شاشة قد لا تكون لديك جلسات تسجيل دخول ولكنك لا تزال تريد أسماءك المستعارة. السبب الذي يجعل ماك مختلفًا هو أن معظم توزيعات لينكس ترسل ملفات تعريف النظام أو ملفات تعريف الهيكلية التي تفوض بالفعل (المصدر) bashrc. - eckes