我想远程执行 .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。