这是我在 StackOverFlow 上的第一个问题。我正在尝试在源服务器上编写一个 shell 脚本,我需要从那里连接到另一台服务器以获取一些值并将其存储在变量中。然后我需要断开与目标服务器的连接并在脚本的其余部分使用该变量。我尝试使用的以下逻辑不会产生任何结果。
ssh <Destination server IP>
status=sudo systemctl status httpd | grep active
现在我期望 status 变量应该包含我可以在当前源服务器脚本中使用的目标服务器的 httpd 服务的状态,但值为空。 它还必须与目标服务器断开连接。不确定如何进行。
有人可以帮忙吗? 提前致谢。
最佳答案
您可以从客户端服务器执行:
ssh user@destination-server-ip 'bash -s' < your-command.sh > your-script.sh
当你的命令是这样的:
status=sudo systemctl status httpd | grep active
echo status
并且您的 your-script.sh 必须从标准输入读取状态。
例如,也许存在更好的解决方案。
关于linux - 通过ssh从目标服务器获取变量值到源服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47575280/