如何在启动 shell 时运行“source”?

如何在启动 shell 时运行“source”?

为了使用 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

这里有几个选项:

  1. 将 .bash_profile 的内容放入 ~/.bashrc 中。
  2. 添加source ~/.bash_profile到 ~/.bashrc。
  3. 添加[ -e ~/.bash_profile ] && source ~/.bash_profile到您的 /etc/bashrc
  4. 如果您要切换用户(例如使用sudosu),请指定您想要加载登录环境(例如使用su -而不是仅仅su)。

背景:.bash_profile 特定于登录 shell,而 .bashrc 由所有 shell 加载。因此,您要么错过了导致 .bash_profile 首先被加载的逻辑,要么您没有启动登录shell 当你启动你的 shell 时。

答案2

在我的 .bash_profile 末尾有这样一行:

源 ~/.rvm/scripts/rvm

我尝试使用您的 bash 配置文件中的内容(这是 rvm 设置说明的一部分),但无法使其工作。

相关内容