Estou tentando determinar se uma VM QEMU concluiu a inicialização de dentro de um script usando o agente QEMU.
O problema é que não consigo atribuir a saída a uma variável ou até mesmo canalizá-la para um arquivo:
[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]#
Eu assumi que qm simplesmente imprimiria para stdout como de costume, parece que esse não é o caso.
Alguém sabe o que está acontecendo aqui e como contornar esse problema ou alguém pode fornecer uma solução diferente para verificar se uma VM está totalmente inicializada?
Substituir
com
para redirecionar o stderr do qm para o stdout.