假设我在文件中存储了以下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)