如何将命令从Shell脚本传递到命令行

时间:2014-01-10 15:28:38

标签: linux bash shell ssh

我在linux上使用ssh来远程访问第二个linux。 ssh的作用是使我的Linux终端成为远程Linux的终端,而我在终端中输入的内容将在远程Linux上执行。现在,我希望在建立远程访问后使用Shell脚本输入命令。

我使用以下bash来执行ssh部分:

#!/bin/sh
ssh user@192.168.178.160

之后它会提示输入密码,我输入密码,然后我就连接到远程主机了。 但之后我需要输入一些额外的命令来自动执行(也来自shell脚本),但只需在上面的代码行之后输入它们就可以了。

任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:4)

告诉ssh将它们发送到要执行的远程shell。

#!/bin/sh
ssh user@192.168.178.160 << EOF
./foo bar 42
cat baz/quux
EOF

答案 1 :(得分:0)

将命令放在最后:

ssh user@192.168.178.160 echo foobar

要执行多个命令,请使用多行字符串:

ssh user@192.168.178.160 '
    echo foo
    echo bar
'