通过SSH执行存储在文件中的Bash脚本

Dun*_*nie 19 ssh bash

假设我在文件中存储了以下Bash脚本foo.sh:

#!/bin/bash
echo foo
Run Code Online (Sandbox Code Playgroud)

无需scp文件,我怎么能执行存储在foo.sh远程机器上的脚本?

我尝试了以下(有一些变化)但没有成功:

$ ssh root@remote eval `cat foo.sh`
Run Code Online (Sandbox Code Playgroud)

eval `cat foo.sh`似乎扩展到eval #!/bin/bash echo foo这里

das*_*zul 36

ssh root@MachineB 'bash -s' < local_script.sh
Run Code Online (Sandbox Code Playgroud)

我从那个线程得到它:如何使用SSH在远程计算机上运行shell脚本?


小智 5

在接受的答案中,我看到:

我想把它当作一个衬套。您可以举一个小代码示例吗?

应该是这样:

ssh root@MachineB 'bash -s -- uno' < local_script.sh
Run Code Online (Sandbox Code Playgroud)

或更好,带有本文

ssh root@MachineB 'bash -s -- uno' <<\EOF
> date
> echo $1
> EOF
jue sep 18 13:01:25 CEST 2014
uno
Run Code Online (Sandbox Code Playgroud)