我有几个 bash 脚本,我想确保它们默认运行,目前我将它们存储在~/.profile
在我的Mac上。这是存放它们的错误地方吗?我听说过其他人并尝试过它们(例如~/.bashrc
, ~/.bash_profile
等),但它们似乎不起作用。
所有这些之间有什么区别,我应该将脚本放入哪一个,以便它在运行时配置并且我不必调用$ source ~/.profile
每次我打开终端时?
If both ~/.bash_profile
and ~/.profile
存在,bash 只读取~/.bash_profile
当它作为交互式登录 shell 被调用时。
https://www.gnu.org/s/bash/manual/html_node/Bash-Startup-Files.html https://www.gnu.org/s/bash/manual/html_node/Bash-Startup-Files.html:
作为交互式登录 shell 调用,或使用 --login 调用
当 Bash 作为交互式登录 shell 或非交互式 shell 调用时--login
选项,它首先从文件中读取并执行命令/etc/profile
,如果该文件存在。读取该文件后,它会查找~/.bash_profile
, ~/.bash_login
, and ~/.profile
,按该顺序,并从第一个存在且可读的命令中读取并执行命令。
[...]
作为交互式非登录 shell 调用
当启动非登录 shell 的交互式 shell 时,Bash 会读取并执行以下命令:~/.bashrc
,如果该文件存在。
~/.profile
也被其他 shell 使用。
默认情况下,终端和 iTerm 打开新 shell 作为登录 shell(通过执行类似login -pf $USER
),但许多 GNU/Linux 终端应用程序会打开新的 shell 作为非登录 shell。 OS X 用户经常使用~/.bash_profile
代替~/.bashrc
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)