Bash-Script Frage
Jan-Benedict Glaw
jbglaw at lug-owl.de
Sa Mär 10 13:00:23 CET 2007
On Sat, 2007-03-10 12:06:46 +0100, Martin JĂ€ger <gipsde at gmx.net> wrote:
> Hallo,
> ich möchte ein Script basteln, welches Skype startet, sofern es noch nicht
> lÀuft.
> Folgende Zeile in der bash liefert ein korrektes Ergebnis:
> >>>>>>>>>>>>>>>
> >user at rechner:/home/scripts$ if [ "$(ps ax|grep -i "[s]kype")" ]; then echo
> "Skype lÀuft"; else echo "Skype lÀuft nicht";fi
>
> >Skype lÀuft nicht
> <<<<<<<<<<<<<<
>
> Daraus habe ich folgendes Script gebastelt:
> >>>>>>>>>>>>>>
> #!/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
> <<<<<<<<<<<<<
>
> Kann mir jemand dieses Verhalten erklÀren ?
'ps' und 'grep' werden parallel gestartet. Du kannst in der Ausgabe
von 'ps' also unter UmstÀnden schon den laufenden grep-Befehl samt
seinem Argument (skype!) sehen.
Versuchs mal mit z.B.
#!/usr/bin/env sh
if pidof skype > /dev/null; then
echo "Skype lÀuft"
else
nohup skype > /dev/null 2>&1 < /dev/null &
fi
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de +49-172-7608481
Signature of: ...und wenn Du denkst, es geht nicht mehr,
the second : kommt irgendwo ein Lichtlein her.
-------------- nächster Teil --------------
Ein Dateianhang mit BinÀrdaten wurde abgetrennt...
Dateiname : nicht verfĂŒgbar
Dateityp : application/pgp-signature
DateigröĂe : 189 bytes
Beschreibung: Digital signature
URL : http://www.tlug.de/pipermail/tlug_allgemein/attachments/20070310/301eef8e/attachment.pgp