Mac上Bash启动文件的最佳实践

Bob*_*ob. 18 macos bash

据我了解,Mac上的bash shell读取启动文件的顺序是......

  1. 在〜/ .bash_profile
  2. 〜/ .bash_login文件
  3. 〜/ .profile文件

..一旦找到此列表中的一个文件,则忽略另一个文件的内容.

话虽这么说,这些文件中的哪一个应该是我真正的Bash启动文件的最佳实践?

一方面,如果.bash_profile优先于任何其他潜在的启动文件,那么应该使用它,因为您可以确保100%的时间正在运行该启动文件中的信息.

另一方面,如果.profile是默认存在于Mac系统上的文件,并且需要手动创建.bash_profile,那么可能应该使用它,并且永远不会有理由创建.bash_profile文件.

思考?

Gor*_*son 20

这取决于您是否使用bash以外的shell,以及是否在配置文件中使用仅bash功能.如果您使用其他sh样式的shell(sh,ksh,zsh等,但不使用csh或tcsh),请不要使用仅限bash的功能,并且无论您使用的是什么shell都需要相同的设置,您应该使用.profile .如果要使用仅限bash的功能,请使用.bash_profile.如果你想使用多个shell但是也只使用bash功能,那么将.profile和bash-only中的常用内容放在.bash_profile中,然后添加if [ -f ~/.profile ]; then . ~/.profile; fi到.bash_profile.

如果您只使用bash,但不依赖于配置文件中任何仅限bash的功能,那么它并不重要.

实际上还有另一个复杂因素:login bash shell source .bash_profile,.bash_login或.profile; 非登录交互式bash shell(例如子shell)源代码.bashrc.我倾向于在登录和非登录shell中都需要相同的设置,所以我将所有有趣的东西放在.bashrc中,然后if [ -f ~/.bashrc ]; then . ~/.bashrc; fi放在.bash_profile中.如果我也使用了其他shell,我可能会将其中的大部分放在.profile中,而是使用.bashrc源代码.