好吧,我有一个需要通过SSH执行一堆命令的脚本,但是我也想允许它在本地运行相同的命令,如果提供的目标是本地路径而不是主机名称。通过SSH执行大量命令
现在我可以确定我是否在本地操作而没有太多麻烦,但是我有一套非常复杂的命令来运行,远远超过了适合直接作为参数提供给ssh的参数。
我想要做的是一样的东西:
if [ -n "$HOST" ]
then
ssh "$HOST"
fi
# Run some commands
# exit
但也有明显的问题,比如我怎么会通过相应的变量和退出,而不会导致当指定本地脚本提前结束。所以我不确定这是否可行,有没有办法像上面那样使用普通的shell命令来实现远程运行?
如果没有,替代方法是提取我需要运行的命令到他们自己的shell脚本中,并确保我的ssh命令拷贝跨越shell脚本(如果它不存在)然后运行它,但我不知道该怎么做?我熟悉基本的unix命令,但不是这样的!
无论如何,我会很感激任何建议,以最好的方式来做到这一点,如果可能的话,给一个详细的例子。