Hallo Zusammen, das hier ist mein erster Forenbeitrag, ich hoffe ich mache nichts falsch.
Ich habe Server mit Virtualbox. Ich möchte ein Skript schreiben mit dem ich alle laufenden VMs herunterfahren kann und später wieder starten. Dieser Teil funktioniert auch, jedoch möchte ich gerne die Anweisung "start" oder "halt" als Parameter übergeben, dieser Teil funktioniert nicht. Auch das Beispiel aus dem Wiki https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger/ wirft bei mir Fehler.
#!/bin/bash # willkommen if [ $1 == "Pingu" ] then echo "Hallo, kleiner Pingu!" else echo "Hallo, $1" fi
Ergibt:
jonas@jonas-PC ~ $ sh wikiBsp.sh Jonas wikiBsp.sh: 3: wikiBsp.sh: Jonas: not found Hallo, Jonas
Mein Skript:
#!/bin/bash if [ $1 == "-s"|| "--start" ] then DO="start" elif [ $1 == "-h" || "--halt"] then DO="halt" elif [ $1 == "-w" || "--which"] then echo "folgende VMs werden gestartet:" cat ~/.cache/runningvms else echo -e "Optionen: \n -h oder --halt \n -s oder --start \n -w oder --which zeigt die zur startenden VMs" fi if [$DO =="start"] then "folgende VMs werden gestartet:" cat ~/.cache/runningvms Newline=$'\n' IFS=$Newline for vms in $(< ~/.cache/runningvms); do VBoxManage startvm $vms --type headless done IFS= fi if [$DO=="halt"] then echo "VBoxManage list runningvms:" VBoxManage list runningvms VBoxManage list runningvms | sed "s/\"\(.*\)\".*/\1/" > ~/.cache/runningvms Newline=$'\n' IFS=$Newline for vms in $(< ~/.cache/runningvms); do VBoxManage controlvm $vms acpipowerbutton done IFS= fi
Über alle Arten von Anregungen für mein Skript bin ich sehr dankbar.
Mfg Jonas