Относительно проблемы с .bashrc
выше:
В большинстве систем, ~/.bashrc
только используется при запуске интерактивной оболочки невхода в систему. Однако при запуске новой оболочки, это часто - интерактивная оболочка входа в систему. Так как это - оболочка входа в систему, .bashrc
проигнорирован. Для хранения среды последовательной между оболочками невхода в систему и входа в систему необходимо получить .bashrc
от Вашего .profile
или Ваш .bash_profile
.
См. Справочник Bash, разделите 6,2 Файлов Запуска Bash
Вызванный как интерактивная оболочка входа в систему, или с - вход в систему
Когда Bash вызывается как интерактивная оболочка входа в систему, или как неинтерактивная оболочка с - опция входа в систему, он сначала читает и выполняет команды из файла/etc/profile, если тот файл существует. После чтения того файла это ищет ~/.bash_profile, ~/.bash_login и ~/.profile, в том порядке, и читает и выполняет команды от первой, которая существует и читаема.
Вызванный как интерактивная оболочка невхода в систему
Когда интерактивная оболочка, которая не является оболочкой входа в систему, запускается, Bash читает и выполняет команды от ~/.bashrc, если тот файл существует.
Так, обычно, Ваш ~/.bash_profile содержит строку
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
после (или прежде) любые определенные для входа в систему инициализации.
На моем Mac (Рабочий Leopard), не было никакой строки к источнику ~/.bashrc
. Я должен был добавить эту функциональность самостоятельно.
В некоторых системах и других Ose, .bashrc
получен от глобального /etc/profile
или /etc/bash_profile
, или сделан с помощью шаблонных файлов от /etc/skel
.
Быть честным различие между .bashrc
и .bash_profile
не хорошо понят под сообществом. То, когда многие разработчики говорят, "Добавьте это к своему .bashrc", что они действительно имеют в виду, - то, " Добавьте это к своему .bash_profile". Они хотят, чтобы функциональность была добавлена к Вашей оболочке входа в систему (который является .bash_profile
), не к Вашей оболочке невхода в систему. В действительности это обычно не имеет значения и помещающая конфигурация в .bashrc
приемлемо.
Используйте .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"
Я нахожу, что в моей ОС 10.6.5 настройки удара находятся в "/etc/bashrc". Я думаю, что это - спецификации верхнего уровня для оболочки.
Однако Вам нужна корневая учетная запись для изменения его. Локальные спецификации в расчете на пользователя "~/.bashrc" должны начать со следующего отрывка, читать и загружать настройки удара системного уровня:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Я обычно добавляю псевдонимы на системном уровне bashrc так, чтобы все пользователи могли получить доступ к ним также. Если они не хотят использовать Ваши ярлыки и псевдонимы.
Удачи!