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

Re: Problem mit Sonderzeichen in shell script



Hallo debian-user-german,

* Christian Schult <cschult@gmx.de>:

> 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
> 

Sorry, natürlich nicht als String sondern als command substitution in Backticks
oder $():

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: