¿Alguien puede decirme cómo se puede lograr esto?

¿Alguien puede decirme cómo se puede lograr esto?

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 readpara 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:
$ 

información relacionada