繁体   English   中英

Shell脚本执行SSH,然后执行其他命令

[英]Shell Script to do SSH followed by further commands

通常,您可以在Shell脚本中编写如下命令:

command1
command2
command3

他们将被处决。

我想将Unix shell脚本编写为SSH到服务器上,然后在该服务器上执行命令。 例如

ssh user@server.com
ls

我尝试如上所述执行此操作,但ls不显示输出。 我究竟做错了什么?

您可以在命令行或stdin上向ssh输入命令。 如果只有一个命令要执行,请执行以下操作:

ssh user@server.com ls

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

ssh user@server.com <<END
command1
command2
command3
END

尽管我的问题的其他答案都很棒,但最终还是使用了一个小的修改版本。 我想与感兴趣的任何人分享这个论坛。

ssh -t username@server.com "
command1
command2
command3
bash -l"

优点:它不会使您注销!

非常感谢Anishsane和John Kugelman

本指南所述,使用无密码SSH。

然后您的脚本将包含:

ssh user@server.com command1
ssh user@server.com command2
ssh user@server.com command3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM