![如何在启动 shell 时运行“source”?](https://linux22.com/image/549094/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%AF%E5%8A%A8%20shell%20%E6%97%B6%E8%BF%90%E8%A1%8C%E2%80%9Csource%E2%80%9D%EF%BC%9F.png)
为了使用 rvm(https://rvm.beginrescueend.com/),我需要运行
source ~/.bash_profile
每次启动新 shell 时。如何在启动计算机时自动执行此操作,而不是每次都键入它?
这是我的.bash_profile:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Load RVM into a shell session *as a fu nction*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
# Load RVM function
答案1
这里有几个选项:
- 将 .bash_profile 的内容放入 ~/.bashrc 中。
- 添加
source ~/.bash_profile
到 ~/.bashrc。 - 添加
[ -e ~/.bash_profile ] && source ~/.bash_profile
到您的 /etc/bashrc - 如果您要切换用户(例如使用
sudo
或su
),请指定您想要加载登录环境(例如使用su -
而不是仅仅su
)。
背景:.bash_profile 特定于登录 shell,而 .bashrc 由所有 shell 加载。因此,您要么错过了导致 .bash_profile 首先被加载的逻辑,要么您没有启动登录shell 当你启动你的 shell 时。
答案2
在我的 .bash_profile 末尾有这样一行:
源 ~/.rvm/scripts/rvm
我尝试使用您的 bash 配置文件中的内容(这是 rvm 设置说明的一部分),但无法使其工作。