通过 SSH 执行 .bash_profile 别名

通过 SSH 执行 .bash_profile 别名

我想远程执行 .bash_profile 别名,但找不到正确的命令。

我试过了,
ssh user@host "bash -ic myalias"
但是没用

我得到:

bash: cannot set terminal process group (-1): Invalid argument  
bash: no job control in this shell  
bash: myalias: command not found

答案1

您可以将别名放在单独的文件中。然后从 .bash_profile 中获取它,ssh 命令将如下所示:

ssh user@host bash -c '. .bash_aliases; shopt -s expand_aliases; myalias'

答案2

我认为您应该尝试将别名命令放在 .bashrc 中而不是 .bash_profile 中。

我在我的其中一台服务器上尝试了这个操作,并且别名被识别了。

我认为这是因为 ssh user@host 是非登录 shell。通常,非登录 shell 会跳过 .bash_profile。

相关内容