OS X पर शेल के लिए कॉन्फिग फाइल क्या है? (यानी, बैश शेल, आदि के लिए ~ / .bash_profile)


0

R का उपयोग करता है /bin/sh शेल वातावरण और मैं स्क्रिप्ट चला रहा हूं (जिसे संशोधित नहीं किया जा सकता) gfortran-4.8 के बजाय gfortran इसलिए मैं निर्माण कर रहा हूं alias। मैंने अपने लिए निम्न पंक्ति जोड़ी है /etc/profile तथा ~/.bash_profile:
alias gfortran-4.8='gfortran'

हालांकि, यहां उपनाम से कॉल करने पर टर्मिनल से आउटपुट प्राप्त होता है gfortran-4.8:

my-MBP:~ myusername$ sh
sh-3.2$ gfortran-4.8 --version
sh: gfortran-4.8: command not found

कॉलिंग gfortran ठीक काम करता है:

sh-3.2$ gfortran --version
gfortran: warning: couldn’t understand kern.osversion ‘14.4.0
GNU Fortran (GCC) 4.9.0
Copyright (C) 2014 Free Software Foundation, Inc.

अगर नहीं /etc/profile या ~/.bash_profile, जहां चाहिए alias कमांड जाओ?

संपादित करें: साथ ही उपनाम जोड़ने की कोशिश की ~/.bashrc लेकिन वह भी काम नहीं किया।


2
आपका लॉगिन या आपका इंटरेक्टिव शेल क्या है? (शायद साथ मिल जाए ps $$ ) अगर यह होता है bash संपादित करें ~/.bashrc
Basile Starynkevitch

ps $$ आउटपुट bash, और मैंने संपादन की कोशिश की ~/.bashrc लेकिन वह भी काम नहीं किया

अपना प्रश्न संपादित करें इसे सुधारने के लिए। टिप्पणी न करें।
Basile Starynkevitch

2
1) उपनाम जोड़ने के लिए ~/.bashrc 2) इसके साथ enablt source ~/.bashrc 3) उपनाम को बुलाने का प्रयास करें
Eugeniu Rosca

क्या इसमें शामिल करने का कोई तरीका है sh शेल स्टार्टअप? जबकि टर्मिनल में यह काम नहीं करता है R निष्पादित करने के बाद भी system('source ~/.bashrc')R डिफ़ॉल्ट रूप से आवश्यकता होती है sh खोल।

जवाबों:


1

जब आप के रूप में के साथ मारना शुरू करते हैं sh (उदाहरण के लिए, यदि /bin/sh एक प्रतीकात्मक कड़ी है bash ), तो शेल केवल पढ़ेगा /etc/profile तथा ~/.profile। खोल नहीं होगा पढ़ना ~/.bash_profile या ~/.bashrc

अपने बैश मैन पेज में "नाम श के साथ लागू" वाक्यांश को खोजें।


1

जब बैश के रूप में लागू किया जाता है */sh, केवल /etc/profile तथा ${HOME}/.profile पढ़े जाते हैं।

मेरी ये पंक्तियाँ मेरे अंदर हैं .profile (OS X का उपयोग करते हुए):

if [ -n "${BASH_VERSION}" ]; then
    # include ~/.bashrc if it exists
    if [ -f "${HOME}/.bashrc" ]; then
        . "${HOME}/.bashrc"
    fi
fi

मेरे .bashrc इन पंक्तियों में (अन्य बातों के अलावा) शामिल हैं:

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

अब जरा बनाएं .bash_aliases इसमें अपने सभी उपनामों के साथ फाइल करें।


0

यह आमतौर पर खोल में सभी उपनामों और अनुकूलन करने के लिए बस आसान है ~/.bashrc और फिर तुम्हारा है ~/.bash_profile source उस फ़ाइल में अर्थात् source .bashrc लेकिन अगर आप अपने में अन्य परिवर्तन करते हैं ~/.bashrc जब तक आप अपने शेल या स्रोत को पुनः लोड नहीं करते, तब तक वे प्रभावित नहीं होंगे ~/.bashrc फ़ाइल।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.