![如何通过 ssh 执行内联命令](https://linux22.com/image/85253/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20ssh%20%E6%89%A7%E8%A1%8C%E5%86%85%E8%81%94%E5%91%BD%E4%BB%A4.png)
我正在努力通过 ssh 执行命令,尤其是别名命令。
我需要的别名是ldocker
在远程设置的.bashrc
。
到目前为止我尝试过:
$ssh bugs2 '. .bashrc && echo "--" && alias && echo "--"'
$ssh bugs2 'source .bashrc && echo "--" && alias && echo "--"'
$ssh bugs2 'bash "source .bashrc && alias"'
bash: source .bashrc && alias: Aucun fichier ou dossier de ce type
$ssh bugs2 "bash \"source .bashrc && alias\""
bash: source .bashrc && alias: Aucun fichier ou dossier de ce type
我看过以下帖子
但找不到任何解决我的问题的方法。
所以我的问题是:
如何通过 ssh 在一行中执行.bashrc
远程aliased
命令?
答案1
那这个呢 :
ssh bugs2 "bash -ic remotealias"
对我来说它几乎有效,别名是:
alias remotealias='echo 123123123'
输出是:
bash: cannot set terminal process group (-1): Invalid argument
bash: no job control in this shell
123123123
编辑:但偷窃自这里,最干净的解决方案是将以下行添加到远程.bashrc
文件中:
shopt -s expand_aliases