为什么我必须继续使用“source ~/.profile”来获取设置?

2024-01-11

我有几个 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(使用前将#替换为@)

为什么我必须继续使用“source ~/.profile”来获取设置? 的相关文章

随机推荐