
Solicitando uma interface sim não ao usuário para reexecutar um bloco de código. Vamos assumir que o bloco de código é echo "Hello"
Responder1
Você poderia tentar algo simples como isto:
#!/bin/bash
while true; do
echo "Hello world"
read -p "Re-run this program? (y/n)" answer
if [ "$answer" == "n" ]; then
break
fi
done
Isso imprimirá "Hello world" dentro de um loop e exigirá uma entrada de "n" para sair dele.
Responder2
Use um loop para repetir uma sequência de comandos. Use read
para obter informações do usuário:
#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
read -p 'Hello ' want_to_print
done
Responder3
Existem inúmeras maneiras de fazer isso, em vários idiomas. Como o bash já foi feito, vou acrescentar 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:
$