~/.profile، ~/.bashrc، و ~/.bash_profile لا تعمل عند بدء تشغيل المحطة الطرفية الجديدة

StackOverflow https://stackoverflow.com//questions/25025799

سؤال

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

هل كانت مفيدة؟

المحلول

هناك شيئان يجب أن يحدثا هنا عند الاستخدام iTerm للحصول على تحميل الملفات النقطية للعمل.

أولا يجب عليك إضافة ما يلي إلى الخاص بك .bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

ثانيا سوف تحتاج إلى التأكد من ذلك iTerm التفضيلات التي تم تعيينها على جهازك الطرفي لتشغيل غلاف تسجيل الدخول.

iTerm Preferences

أتمنى أن يساعدك هذا!

نصائح أخرى

باستخدام محطة Mac الافتراضية، ما كان يعمل بالنسبة لي هو إضافة أمر لتشغيله عند بدء التشغيل لمصدر بلدي .bash_profile.

التفضيلات> الملف الشخصي> بدء التشغيل> إضافة الأمر "مصدر" ~ / .bash_profile "

Screenshot نافذة تفضيلات Mac Terminal

قد تعتبر متأخرا بعض الشيء، لكنها تفعل الخدعة.

اعتبارا من Sierra، كل من المحطة الطرفية و IEDERM تريد تحميل ~ / .profile أولا.لذلك أقترح عليك وضع سطر واحد في الخاص بك .profile لجعل عملك يعمل مثل Unixes الأخرى:

المصدر ~ / .bash_profile

عن طريق تحرير هذا الملف واحد، لن تضطر إلى البحث من خلال قوائم تطبيقات متعددة لتجاوز سلوك Apple Bizarre في كل منها.

إضافة source ~/.profile لي .bash_profile عملت بالنسبة لي.

لماذا لا يتم تحميل ملفات تهيئة Shell الخاصة بك؟

كما هو الحال مع معظم الأشياء، فإنه يعتمد ™

لقد واجهت نفس الظاهرة مؤخرًا وقمت بالتمرين التالي لحلها:

أنا استخدم آي تيرم.يقوم iTerm بتشغيل Shell لتسجيل الدخول بشكل افتراضي.تحقق في تفضيلات ITERM> عام> command> (*) تسجيل الدخول ، لذلك ، أعلم أنه سيتم دائمًا استدعاء ~/.bash_profile.

مع العلم بذلك، قمت بوضع ما يلي في ملف ~/.bash_profile الخاص بي:

for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
    [ -r "$file" ] && source "$file"
done
unset file

لاحظ أنني أستخدم ملفات منفصلة لـ .bashrc و.bash_exports وما إلى ذلك.إنها تحافظ على الأشياء منفصلة وبسيطة.

لاحظ أيضًا أنه يتم تحميل /etc/profile أولاً، ولكن نظرًا لأنني لم أستخدم ملف init على مستوى النظام مطلقًا، فقد علمت أن هذه ليست مشكلتي.للحصول على التفاصيل تحقق من $ man bash

لذلك، بدأت بملف ~/.bash_profile الخاص بي.

لقد وجدت ذلك عندما قمت بتثبيت كانوبي اكسبريس أن المثبت قام باستبدال محتويات ملف ~/.bash_profile الخاص بي بالمحتوى التالي:

# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'

ملاحظة.Canopy هو بيئة تطوير متكاملة ممتازة ومجانية للبايثون، وأنا أوصي به بشدة.

لحسن الحظ، قمت بعمل نسخة احتياطية من ملفات ~/.bash* الخاصة بي، لذلك كانت استعادتها سهلة وتم حل مشكلتي بسرعة.

نصيحتي هي فهم ترتيب استدعاءات ملفات التهيئة الخاصة بك والبدء بالملف الأول والعمل على حلها حتى تجد المشكلة.

أوه، وقد ترغب في التحقق من الصدفة التي تستخدمها (أستخدم bash):

~ $ echo $SHELL
/usr/local/bin/bash

أنا أظن أنه قد تستخدم قذيفة أخرى، مثل باش، TCSH، SH، ZSH إلخ.

ضع godyodicetagcode في ملف "BASHRC" المناسب المناسب الخاص بك سيجعل التحميل التلقائي المسترد، I.E.

.login for tcsh، .bash_profile for bash، .zshrc ل ZSH

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top