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
Please also mark the comments that contributed to the solution of the article
Content-Key: 176786
Url: https://administrator.de/contentid/176786
Printed on: April 19, 2024 at 16:04 o'clock
2 Comments
Latest comment
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