erik72
Goto Top

Unix Abfrage Ja Nein

Ein Skript soll Eingaben von der Konsole in eine Datei schreiben.
Nach jeder Eingabe soll eine Abfrage erfolgen, ob noch weitere Namen eingetragen werden sollen.
Hier mein Lösungsansatz. Leider nicht wie gewünscht. Bitte um Hilfe.

#!/bin/sh

while [ $Abfrage ="j" ]
do
echo "Name: \c"
read Eingabe
echo "$Eingabe" >> Dateien
echo "Noch ein Name (j/n)? \c"
read Abfrage
done


Zweite Frage:
Kann ich bestimmte Sonderzeichen bei der Eingabe verbieten lassen? z.B. Wildcards *, ?

Herzlichen Dank allen Helfenden,
Gruß
Erik

Content-Key: 176786

Url: https://administrator.de/contentid/176786

Printed on: April 19, 2024 at 20:04 o'clock

Mitglied: 64748
64748 Nov 24, 2011 at 16:11:32 (UTC)
Goto Top
Hallo Erik,

so gehts
#!/bin/sh

Abfrage="j"  
while [ "$Abfrage" = "j" ]  
do
         echo "Name: \c"  
         read Eingabe
         echo "$Eingabe" >> Dateien  
         echo "Noch ein Name (j/n)?"  
         read Abfrage
done
Du musst natürlich vor der while-Schleife die Variable "$Abfrage" auf "j" setzten, sonst läuft die Schleife nicht an.
Und um die Variable in der Abfrage gehören ""

Markus
Mitglied: 64748
64748 Nov 24, 2011 at 16:43:19 (UTC)
Goto Top
Zu Deiner zweiten Frage:
if [[ "$Eingabe" =~ [^a-zA-Z0-9] ]]; then  
        exit 1
fi
beendet das Skript sobald ein nicht-alphanumerisches Zeichen in der Eingabe auftritt.

Hier: http://tldp.org/LDP/abs/html/ findest Du das Bash-Tutorial.

Markus