将来自另一个 VM 的值文件存储为 Bash 中的变量

Storing Value file from another VM as a varible in Bash

我有一个设置需要从另一个 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}

我得到的结果是:

Enable succeeded: [stdout] [stderr]

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

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

真的希望它不是 1,并希望获得有关如何处理此问题的建议。

对于你的问题,还有一个原因是vm中的agent没有工作或者发生了不好的事情。 Azure VM 代理管理 Azure VM 和 Azure 结构控制器之间的交互。所以你应该检查它是否运作良好。

更新

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

另外,你可以查看vm里面的agent:

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