
Dem Benutzer wird eine Ja/Nein-Schnittstelle angezeigt, um einen Codeblock erneut auszuführen. Nehmen wir an, der Codeblock ist „Echo: Hallo“.
Antwort1
Sie könnten etwas Einfaches wie das Folgende versuchen:
#!/bin/bash
while true; do
echo "Hello world"
read -p "Re-run this program? (y/n)" answer
if [ "$answer" == "n" ]; then
break
fi
done
Dadurch wird „Hallo Welt“ innerhalb einer Schleife gedruckt und zum Ausbrechen ist die Eingabe von „n“ erforderlich.
Antwort2
Verwenden Sie eine Schleife, um eine Befehlsfolge zu wiederholen. Verwenden Sie sie, read
um Benutzereingaben abzurufen:
#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
read -p 'Hello ' want_to_print
done
Antwort3
Es gibt eine Vielzahl von Möglichkeiten, dies in verschiedenen Sprachen zu tun. Da Bash bereits erledigt ist, füge ich Folgendes hinzu AWK
:
$ awk 'BEGIN{ MSG="yes/no?"; while ( 1 ){ print MSG;getline line; if (line == "yes") {print "HELLOWORLD"} else {exit}}}'
yes/no?
yes
HELLOWORLD
yes/no?
yes
HELLOWORLD
yes/no?
no
xieerqi:
$