Hallo
Ich will den status meiner ESXi VM's via bash script überprüfen:
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash ssh root@192.168.2.50 "vim-cmd vmsvc/getallvms" | awk '{print $1" "$2}' | grep -v Vmid > /tmp/esxi_vms_array.txt cat /tmp/esxi_vms_array.txt | while read line do vmid=$(echo $line | awk '{print $1}') vmname=$(echo $line | awk '{print $2}') vmstate=$(ssh root@192.168.2.50 "vim-cmd vmsvc/power.getstate" $vmid | grep -v Retrieved | awk '{print $2}') echo $vmid $vmname $vmstate echo hallo done |
Wenn ich die Variable "vmstate" auskommentiere, dann läuft die While Schleife voll durch. Wenn ich die Variable setzte, also eine SSH Verbindung aufbaue, dann wird nur die erste Zeile der Datei /tmp/esxi_vms_array.txt gelesen und die Schleife bricht fehlerlos ab.
Warum ist das so???
Danke für eure Hilfe bb