Shell脚本执行SSH后跟进一步的命令

Kia*_*ian 0 linux ssh bash shell

通常在shell脚本中,您可以编写诸如的命令

command1
command2
command3
Run Code Online (Sandbox Code Playgroud)

他们将陆续被处决.

我想将一个Unix shell脚本写入SSH到服务器上,然后在该服务器上执行命令.例如

ssh user@server.com
ls
Run Code Online (Sandbox Code Playgroud)

我尝试如上所示这样做,但ls不显示输出.我究竟做错了什么?

Joh*_*ica 8

您可以在命令行或stdin上为ssh提供命令.如果您只有一个命令要执行,请执行以下操作:

ssh user@server.com ls
Run Code Online (Sandbox Code Playgroud)

如果您有多个命令,请使用heredoc语法通过stdin传递它们:

ssh user@server.com <<END
command1
command2
command3
END
Run Code Online (Sandbox Code Playgroud)