【问题标题】:Fetching variable value through ssh from destination to source server通过 ssh 从目标服务器获取变量值到源服务器
【发布时间】:2017-11-30 14:01:12
【问题描述】:

这是我关于 StackOverFlow 的第一个问题。我正在尝试在源服务器上编写一个 shell 脚本,我需要从该服务器连接到另一台服务器以获取一些值并将其存储在一个变量中。然后我需要断开与目标服务器的连接并在脚本的其余部分使用该变量。我尝试使用的以下逻辑不会产生任何结果。

ssh <Destination server IP>
status=sudo systemctl status httpd | grep active

现在我期望状态变量应该包含我可以在当前源服务器脚本中使用的目标服务器的 httpd 服务的状态,但该值为空白。 它还必须与目标服务器断开连接。不知道如何继续。

有人可以帮忙吗? 提前致谢。

【问题讨论】:

  • 也许你需要 bash
  • 我使用 shell 脚本作为 .sh ,你还有什么意思?您能否详细说明您的解决方案? -谢谢
  • 你解决了吗?

标签: linux shell ssh redhat


【解决方案1】:

您可以从客户端服务器执行:

ssh user@destination-server-ip 'bash -s' your-script.sh

当你的命令是这样的:

status=sudo systemctl status httpd | grep active
echo status

您的 your-script.sh 必须从标准输入读取状态。

例如,也许存在更好的解决方案。

【讨论】:

  • 很抱歉我的回答不完整。您需要获取状态....嗯,我认为您可以回显状态并重定向到文件或另一个脚本...
  • 通过文件重定向并获取输出是可能的,但在我们的环境中它不是一个选项,因为不幸的是我们的客户不允许这样做,因此我正在寻找一种解决方案,我们可以在其中获取变量。我们有这样的选择吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 2015-10-09
  • 2023-03-16
  • 1970-01-01
  • 2012-05-03
相关资源
最近更新 更多