Лучшие практики для запуска файлов запуска Bash на Mac - PullRequest
17 голосов
/ 20 декабря 2010

Насколько я понимаю, порядок загрузки файлов запуска оболочкой bash на Mac: *

  1. ~ / .bash_profile
  2. ~ /.bash_login
  3. ~ / .profile

.. и как только один файл в этом списке найден, содержимое другого игнорируется.

Как говорится,Есть ли лучшая практика, для которой из этих файлов должен быть мой единственный настоящий стартовый файл Bash?

С одной стороны, если .bash_profile будет иметь приоритет над любым другим потенциальным стартовым файлом, то это должно бытьиспользуется, потому что вы можете быть уверены, что 100% времени запускается информация в этом файле запуска.

С другой стороны, если .profile - это файл, который существует в системах Mac по умолчанию,и .bash_profile необходимо создать вручную, тогда, возможно, это следует использовать, и никогда не будет причины для создания файла .bash_profile.

Мысли?

Ответы [ 2 ]

20 голосов
/ 20 декабря 2010

Это зависит от того, используете ли вы другие оболочки, кроме bash, и используете ли вы только функции bash в своем профиле.Если вы используете другие оболочки в стиле sh (sh, ksh, zsh и т. Д., Но не csh или tcsh), не используете функции bash-only и хотите одинаковые настройки независимо от того, в какой оболочке вы находитесь, вам следует использовать .profile,Если вы хотите использовать функции только для bash, используйте .bash_profile.Если вы хотите использовать несколько оболочек, но также использовать функции только для bash, поместите общие элементы в .profile и элементы только для bash в .bash_profile, а затем добавьте if [ -f ~/.profile ]; then . ~/.profile; fi в .bash_profile.

Если вы толькокогда-либо использовать bash, но не полагайтесь на какие-либо функции bash в своем профиле, тогда это не имеет большого значения.

На самом деле есть еще одно осложнение: вход в систему bash-оболочки может быть источником..профиль;не входящие в систему интерактивные оболочки Bash (например, подоболочки) вместо исходного .bashrc.Я стремлюсь к одинаковой настройке как для входа в систему, так и для входа в систему, но не для входа в систему, поэтому я помещаю все интересное в .bashrc, а затем if [ -f ~/.bashrc ]; then . ~/.bashrc; fi в .bash_profile.Если бы я также использовал другие оболочки, я бы, скорее всего, поместил большую часть этого в .profile, а вместо этого имел бы источник .bashrc.

1 голос
/ 29 мая 2012

На всякий случай, раньше у меня была проблема, когда я где-то потерял конфигурацию, и мне потребовалось много времени, чтобы найти ее, главным образом потому, что я был нубом.

Я просматривал эти специфичные для пользователя файлы, которые эти пользователи очень хорошо определили, но конфигурация была установлена ​​в /etc/profile.

На всякий случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...