Re: OT: scriptproblem
On Tuesday 29 June 2004 20:53, Jochen Georges wrote:
> Hallo,
> ich habe ein kleines Problem. Mit einem Script möchte ich die
> Existenz eines Benutzernamens überprüfen, aber egal was ich eingebe,
> ich bekomme immer das Echo, der Benutzername würde existieren.
>
> #/bin/sh
> BENUTZER=`grep $1 /etc/passwd | cut -d: -f1`
> if [ -n $BENUTZER ] ; then
> #Zeichenkette nicht Null
> echo "$1 existiert"
> else
> #Zeichenkette Null
> echo "$1 existiert nicht"
> fi
>
> #funktioniert:
> #BENUTZER=`grep $1 /etc/passwd | cut -d: -f1`
> #if [ $1 = $BENUTZER ] ; then
> # echo "$1 existiert"
> #else
> # echo "$1 existiert nicht"
> #fi
>
> Warum ist die Zeichenkette im Beispiel nie Null?
Die Zeichenkette ist null denn:
#/bin/sh
BENUTZER=`grep $1 /etc/passwd | cut -d: -f1`
if [ -z $BENUTZER ] ; then
#Zeichenkette nicht Null
echo "$1 existiert nicht"
else
#Zeichenkette Null
echo "$1 existiert"
fi
geht.
man test sagt:
[-n] ZEICHENKETTE
die Länge von ZEICHENKETTE ist ungleich Null
-z ZEICHENKETTE
die Länge von ZEICHENKETTE ist Null
trotzdem würde ich sagen BUG.
bye Andreas
Reply to: