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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176786
Url: https://administrator.de/contentid/176786
Ausgedruckt am: 25.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Erik,
so gehts
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
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
Und um die Variable in der Abfrage gehören ""
Markus
Zu Deiner zweiten Frage:
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
if [[ "$Eingabe" =~ [^a-zA-Z0-9] ]]; then
exit 1
fi
Hier: http://tldp.org/LDP/abs/html/ findest Du das Bash-Tutorial.
Markus