我正在尝试确定 QEMU VM 是否已使用 QEMU 代理从脚本内部完成引导。
问题是我无法将输出分配给变量,甚至无法将其通过管道传输到文件:
[root@node1 dir]# isrunning=$(qm agent 1234 ping)
VM 1234 is not running
[root@node1 dir]# echo $isrunning
[root@node1 dir]# isrunning=`qm agent 1234 ping`
VM 1234 is not running
[root@node1 dir]# echo $isrunning
[root@node1 dir]# qm agent 1234 ping > /tmp/qmclonevm
VM 1234 is not running
[root@node1 dir]# echo /tmp/qmclonevm
/tmp/qmclonevm
[root@node1 dir]# qm agent 1234 ping | tee /tmp/qmclonevm
VM 1234 is not running
[root@node1 dir]# cat /tmp/qmclonevm
[root@node1 dir]#
我假设 qm 会像往常一样简单地打印到标准输出,似乎情况并非如此。
有谁知道这里发生了什么以及如何解决该问题,或者任何人都可以提供不同的解决方案来检查 VM 是否已完全启动?
代替
和
将 qm 的标准错误重定向到标准输出。