
Solicitar una interfaz de sí, no al usuario para volver a ejecutar un bloque de código. Supongamos que el bloque de código es echo "Hola"
Respuesta1
Podrías probar algo simple como esto:
#!/bin/bash
while true; do
echo "Hello world"
read -p "Re-run this program? (y/n)" answer
if [ "$answer" == "n" ]; then
break
fi
done
Eso imprimirá "Hola mundo" dentro de un bucle y requerirá una entrada de "n" para salir de él.
Respuesta2
Utilice un bucle para repetir una secuencia de comandos. Úselo read
para obtener información del usuario:
#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
read -p 'Hello ' want_to_print
done
Respuesta3
Hay multitud de formas de hacer esto, en una variedad de idiomas. Como bash ya está hecho, agregaré 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:
$