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

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: