Kann mir jemand sagen, wie das erreicht werden kann?

Kann mir jemand sagen, wie das erreicht werden kann?

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, readum 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:
$ 

verwandte Informationen