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-ID: 176786

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

Ausgedruckt am: 25.11.2024 um 10:11 Uhr

64748
64748 24.11.2011 um 17:11:32 Uhr
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
64748
64748 24.11.2011 um 17:43:19 Uhr
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