将其他VM中的Value文件作为变量存储在Bash中

时间:2018-09-11 19:46:19

标签: bash azure azure-cli runcommand

我有一个设置,需要从另一个VM中的某些文件的值引导下来。

这是我用来调用运行运行命令的运行命令:

BOOT_VM="${VM_NAME}1"
BOOT_ENODE=$(az vm run-command invoke --name ${BOOT_VM} \
    --command-id RunShellScript \
    --resource-group ${RSC_GRP_NAME} \
    --query "value[].message" \
    --output tsv \
    --scripts "cat /etc/parity/enode.pub")

echo ${BOOT_ENODE}

我得到的结果是:

  

启用成功:[stdout] [stderr]

据我所知,这可能意味着两件事:

  1. 那里没有文件
  2. 我错误地处理了响应。

真的希望它不是1,并希望提供有关如何解决此问题的建议。

1 个答案:

答案 0 :(得分:0)

对于您的问题,还有一个原因是虚拟机中的代理不起作用或发生了某些不良情况。 Azure VM代理管理Azure VM和Azure结构控制器之间的交互。因此,您应该检查它是否运作良好。

更新

您可以在门户中检查代理:

enter image description here

此外,您可以检查vm内的代理:

enter image description here

例如,我想在vm中获取vim的配置,而vm os是Red Hat 7.2。然后,命令az vm run-command invoke的结果将如下所示:

enter image description here