我正在尝试使用bash编写shell脚本。我有多台服务器,每台服务器都运行多个应用程序。每个服务器还有特定的应用程序脚本来检查/停止/启动等。我想做的就是,执行ssh并连接到远程服务器。 我也能够成功地完成这项任务,并且也能胜任这些命令。
在某些情况下,我需要检查远程计算机上的某些进程状态,应用程序特定脚本已经这样做了。但是当我尝试执行该脚本时使用我的ssh我没有得到任何信息(它被执行但没有传递信息)。如何从远程主机获取信息并在此处显示在本地主机上。
非常感谢您对此的任何帮助。
此致 Senny
答案 0 :(得分:7)
您可以通过将命令作为字符串传递给ssh来run remote commands and get results locally。
在您的脚本中,您可以执行以下操作:
CMD_OUT=$(ssh user@remote_host "/path/to/script argument")
该命令将远程运行,输出存储在CMD_OUT
变量中。然后,您可以解析脚本中的输出以获得所需的结果。
为了简化脚本的使用,您可能需要设置passwordless ssh,这样每次脚本尝试运行远程命令时都不必输入密码。