Может ли кто-нибудь сказать мне, как этого можно добиться?

Может ли кто-нибудь сказать мне, как этого можно добиться?

Запрос интерфейса «да нет» для пользователя с целью повторного выполнения блока кода. Предположим, что блок кода — это echo «Hello»

решение1

Вы можете попробовать что-то простое, например:

#!/bin/bash
while true; do
  echo "Hello world"
  read -p "Re-run this program? (y/n)" answer

  if [ "$answer" == "n" ]; then
    break
  fi
done

Это выведет «Hello world» внутри цикла и потребует ввода «n» для выхода из него.

решение2

Используйте цикл для повторения последовательности команд. Используйте readдля получения ввода от пользователя:

#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
    read -p 'Hello ' want_to_print
done

решение3

Есть множество способов сделать это, на разных языках. Поскольку bash уже был сделан, я добавлю 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:
$ 

Связанный контент