我在机器 B 上有一个 bash 脚本,我想在机器 B 上运行它。我现在正在使用机器 A。这可能吗?
到目前为止,如果脚本位于机器 A 上,我只能使用以下命令来执行此操作:
ssh user@machineb 'bash -s' < /path/machinea/script.sh
我不想必须将此远程脚本复制到本地。有没有办法通过 SSH 通过本地计算机在远程计算机上运行此远程脚本?
答案1
从man ssh
:
如果命令被指定,它将在远程主机上执行,而不是在登录 shell 上执行。
在哪里命令是 ssh 的最后一个参数
因此,您唯一要做的就是移动单引号:
ssh user@machineb 'bash -s < /path/machinea/script.sh'
基本上,您上面提供的命令将机器 A 脚本重定向到 ssh,ssh 通过网络传输脚本并在机器 B 上运行它。在机器 B 上本地运行脚本/命令就更省事了。