[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem mit Sonderzeichen in shell script



Hallo Michael,

* Michael Böhm <dudleyperkins@googlemail.com>:

> Hallo Liebe Liste,
> 
> ich bin gerade dabei ein script umzuschreiben und sehe an einer Stelle wohl
> den Wald vor lauter Bäumen nicht mehr. Folgende if-Abzweigung bereitet mir
> Kopfzerbrechen:
> 
> if [ "/usr/bin/vmrun -h https://localhost:8333/sdk -u user -p password
> suspend \'[standard] $vm\' soft " == 0 ]; then
> 
> Also wenn der Suspend-Befehl erfolgreich war, dann soll alles innerhalb der
> if-Schleife ausgeführt werden. Inzwischen habe ich die
> Hochkommatas,Anführungs- und Escape-Zeichen so oft hin und her getauscht,
> und es hat nie funktioniert.

Der Operator == macht pattern matching. Du willst aber nach dem Exitcode
von vmrun testen. Der Befehl test gibt true zurück wenn der Exitcode des
getesteten Befehls 0 ist, ohne dass man  explizit den Rückgabewert
untersuchen zu muss. Also:

if [ "/usr/bin/vmrun -h https://localhost:8333/sdk -u user -p password suspend \'[standard] $vm\' soft " ]; then
    echo "vmrun: $vm suspended"
fi


Gruß

Christian


Reply to: