Hilfe bei Shellscript erbeten

Maximilian Wilhelm max at rfc2324.org
Thu Apr 17 14:24:38 CEST 2008


Am Thursday, den 17 April hub Andre Landwehr folgendes in die Tasten:

> > > num=$(($(ps aux|grep soffice|wc -l) - 1))

> > Und weil in 'grep soffice' ein 'soffice' vorkommt, ziehst Du hinterher
> > wieder eins ab? Was, wenn die shell noch dabei ist, den grep zu
> > starten? Dann bekommst Du eins zuwenig dabei heraus...

> > pgrep!

> und wenn schon normales grep, dann gleich ganz richtig:
> ps aux |grep soffice |grep -v "ps ax" |grep -v "grep" |wc -l

Och komm...

ps -ef | grep soffce | grep -c -v 'ps ax\|grep'

> > > > if [ test $num == "0" ] ; then

> > Was ist das denn?

> > if [ $num = 0 ]; then
> > 	...
> > fi

> Alternativ könnte man $num auch als Zahl behandeln und nicht als String
> (denn nur die vergleicht man mit '=' oder '==')
> if [ $num -eq 0 ]; then
> 	...
> fi

Das hat potentiell auch Fussschussgefahr, wenn in $num mal kein
numerischer Wert drinsteht - warum auch immer.

Und Quotes sollte man *immer* und _überall_ nutzen.

Ciao
Max
-- 
	Follow the white penguin.



More information about the Linux mailing list