$OPTARG überprüfen

J

Janine

Eroberer
Hallo Jungs,

will wissen wie man am besten einen String überprüft.

Also z.B. bei einer Passwortabfrage

Der user soll ein pw eingeben und dann soll dieser String auf

- minimum anzahl an zeichen
- gross- und kleinschreibung muss vertreten sein
- min. 1 Zahl
- und min 1 Sonderzeichen

überprüfen wenn das der fall ist dann alles roger ansonsten Fehlermeldung.

Also muss ja aufjedenfall mit regex arbeiten oder? Und dann mt egrep?

Wäre für bsp links sehr dankbar

ps: ich google auch selber keine Sorge :P

Mfg Janine
 
Hallo,

schau Dir mal 'man expr' an!
 
bin ich ja ganze zeit schon dran :(

bringt mich nur nicht so weiter, hab schon viel probiert nur iwie krieg ich es nicht hin das ich bei einer normalen vergleich wie z.B.

if "$a" != "$b"

then....


und warum geht das nicht mit expr?

wie z.B.

if "$a" != "[a-zA-Z]"

then

also das hiesse ja wenn eine zahl mit angegeben wird das es else sein müsste aber ka klappt nicht so. naja muss ich mal weiter suchen bin ja noch neu ^^
 
Wenns dir nicht auf Performance ankommt, kasst du es mit grep probieren.
Code:
echo $WORT | grep [a-z] | grep [A-Z] | grep [0-9] | grep -v ^[a-zA-Z0-9]*$

Bin mir nicht sicher ob das funzt, kann es auch nicht testen, weil mein bash momentan spinnt. :-(
 
Hallo

Du musst unterscheiden zwischen test und expr und der Variablenexpansion und regulären Ausdrücken.
Das wird von Anfängern oft durcheinandergehauen.
Die bash kann selbst mit test nicht mit regulären Ausdrücken umgehen. expr kann das und liefert den Wert für Test zurück, den du dann auswerten kannst.

Hier mal ein kleines Beispiel., wie du eine Variable (hier A) auf Sonderzeichen, Ziffern und Länge (hier 7) mit der bash testen kannst.

Code:
 if [ $(expr "$A" : [[:digit:]]) -a ${#A} -ge 7 -a  $(expr "$A" : [^[:alnum:]])  ];then 
echo "Richtige Laenge und Ziffern und Sonderzeichen";
else
echo "$A hat nicht das richtige Format";
fi

Gruß Wolfgang
 

Ähnliche Themen

Variable mittels regex überprüfen

Frage zum grep Befehl mit expr

Zurück
Oben