Bash-Script Frage

Erik Heinz erik at iks-jena.de
Sa Mär 10 12:19:25 CET 2007


Hallo Martin,

On Sat, Mar 10, 2007 at 12:06:46PM +0100, Martin Jäger wrote:

> #!/bin/bash
> #startet Skype, sofern es noch nicht laeuft
> 
> 
> if [ "$(ps ax|grep -i "[s]kype")" ]
> then
>                 echo "Skype laueft"
> else
>                 echo "Skype laeuft nicht. Starte Skype..."
>                 /usr/bin/skype &
> fi
> <<<<<<<<<<<<<<
> 
> Doch dieses liefert mir nur die falsche Angabe:
> >>>>>>>>>>>>>>
> user at rechner:/home/scripts$ ./skype_start.sh
> Skype laueft

Bei mir funktioniert das. Du kannst übrigens auch den Rückgabewert von grep
mit if auswerten:

if ps ax | grep -iq "[s]kype" ; then ... ; fi

> Kann mir jemand dieses Verhalten erklären ?

Nein. Lass Dir im Script den Inhalt von $(ps ax|grep -i "[s]kype")
ausgeben, dann sollte sich das aufklären.

Tschüs,
Erik