在 Bash 4 中通过 ssh 执行命令而不获取 ~/.bashrc

在 Bash 4 中通过 ssh 执行命令而不获取 ~/.bashrc

根据 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"

相关内容