Я использовал несколько различных систем на основе * nix за эти годы, и кажется, что каждый вариант Bash, который я использую, имеет свой алгоритм для решения, какие сценарии запуска запускать. Какой сценарий запуска является подходящим местом для выполнения таких задач, как установка переменных и псевдонимов среды и печать сообщений запуска (например, MOTD)?
В чем разница между наведению .bashrc
, .bash_profile
и .environment
? Я также видел другие файлы , такие как .login
, .bash_login
, и .profile
; это когда-нибудь актуально? В чем разница, какие из них запускаются при физическом входе в систему, удаленном входе через ssh и открытии нового окна терминала? Есть ли какие-либо существенные различия между платформами (включая Mac OS X (и ее Terminal.app) и Cygwin Bash)?
источник
/etc/bashrc
ответ?Обычно
~/.profile
используется Bourne Shell и, вероятно, поддерживается Bash в качестве устаревшей меры. Опять же,~/.login
и~/.cshrc
использовались C Shell - я не уверен, что Bash их вообще использует.~/.bash_profile
Будет использован только один раз, при входе в систему.~/.bashrc
Сценарий читать каждый раз при запуске оболочки. Это аналогично/.cshrc
C Shell.Одним из следствий этого является то, что содержимое
~/.bashrc
должно быть как можно более легким (минимальным), чтобы снизить накладные расходы при запуске оболочки без входа в систему.Я считаю, что это
~/.environment
файл совместимости с Korn Shell.источник
Я нашел информацию о .bashrc и .bash_profile здесь , чтобы подвести итог:
Также имеется полный последующий на каждом из файлов конфигураций здесь
Они, вероятно, даже зависят от дистрибутива, не все дистрибутивы хотят иметь с ними каждую конфигурацию, а некоторые имеют даже больше. Но когда у них одно и то же имя, они обычно включают одно и то же содержание.
источник
По словам Джоша Стайгера , Mac OS X Terminal.app по умолчанию запускает оболочку входа в систему, а не оболочку без входа в каждое новое окно терминала, вызывая .bash_profile вместо .bashrc.
Он рекомендует:
источник
Хорошее место для просмотра - справочная страница bash. Вот онлайн-версия. Ищите раздел «ПРИЗЫВ».
источник
Я использовал дистрибутивы семейства Debian, которые, похоже, выполняются
.profile
, но не выполняются.bash_profile
, тогда как производные от RHEL выполняются.bash_profile
раньше.profile
.Кажется, это беспорядок, когда вам нужно настроить переменные среды для работы в любой ОС Linux.
источник