%20%D0%B2%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B5.png)
Я пытаюсь определить, завершила ли виртуальная машина QEMU загрузку из скрипта с помощью агента 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 просто выведет данные на стандартный вывод, как обычно, но, похоже, это не так.
Кто-нибудь знает, что здесь происходит и как обойти эту проблему, или может кто-нибудь предложить другое решение для проверки полной загрузки виртуальной машины?
решение1
Заменять
ping
с
ping 2>&1
для перенаправления stderr qm в stdout.