根据 bash 调用顺序,如果通过 ssh 调用非交互式、非登录 bash shell,则应该执行 source ~/.bashrc
。这在 OS X 发布的 Bash 3.2.48(1) 版本中运行良好。
但是,当我安装 bash 4.2.8(2)-release 并将其设置为我的登录 shell 时,通过 ssh 执行命令(例如ssh <host> <command>
)不会获取我的~/.bashrc
。
有人知道哪里出了问题,或者我该如何解决这个问题?
答案1
可能有点晚了,但我遇到了这个问题,我的解决方案是添加
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
到我的~/.bash_profile
。
答案2
您可以使用选项bash
通过 ssh运行--login
。如下所示:
ssh <host> bash --login -c "command"