[英]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.