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

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

#!/bin/bash
echo foo

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

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

$ ssh root@remote eval `cat foo.sh`

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


ssh root@MachineB 'bash -s' < local_script.sh

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


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

我想把它作为一个班轮。 你能做一个小代码的例子吗?

应该是这样的:

ssh root@MachineB 'bash -s -- uno' < local_script.sh

或更好的,用一个在这里的文件

ssh root@MachineB 'bash -s -- uno' <<EOF
> date
> echo $1
> EOF
jue sep 18 13:01:25 CEST 2014
uno

cat foo.sh | ssh -T root@remote cat foo.sh | ssh -T root@remote将会诀窍。 -T选项禁止您以其他方式获得的警告,因为您是从文件管道输入的。

链接地址: http://www.djcxy.com/p/97159.html

上一篇: Execute Bash script stored in a file over SSH

下一篇: UNIX ssh script, running commands on remote server