好的,所以我有一个脚本需要通过 SSH 执行一堆命令,但是如果提供的目标是本地路径而不是主机名,我还想允许它在本地运行相同的命令。
现在我可以轻松地确定我是否在本地操作,但我有一组非常复杂的命令要运行,远远超过直接作为参数提供给 ssh 的范围。
我想做的是:
if [ -n "$HOST" ]
then
ssh "$HOST"
fi
# Run some commands
# exit
但是,有一些明显的问题,例如我如何传递适当的变量并退出,而不会导致脚本在本地定位时提前结束。所以我不确定这是否可能,有没有办法使用实际远程运行的普通 shell 命令来执行上述操作?
如果没有,另一种方法是让我提取我需要运行到他们自己的 shell 脚本中的命令,并确保我的 ssh 命令复制 shell 脚本(如果它不存在)然后运行它,但我我也不知道该怎么做?我熟悉基本的 unix 命令,但不是这样的!
无论如何,如果可能的话,我将不胜感激有关最佳方法的任何建议,并提供详细示例。