break: sólo tiene sentido en un bucle `for', ` while' o `hasta'

break: sólo tiene sentido en un bucle `for', ` while' o `hasta'

Solución de problemas de una salida de error al final de un script.

Este...

# We now request that the user restarts their server...
read -e -p "Restart your server now to complete the install (y/n)? " rsn
    case $rsn in
        [Yy]* ) break;;
        [Nn]* ) exit;
    esac
done

Produce...

/dev/fd/63: line 446: break: only meaningful in a `for', `while', or `until' loop
/dev/fd/63: line 449: syntax error near unexpected token `done'
/dev/fd/63: line 449: `done'

¿Alguna idea sobre una alternativa break;;en este caso?

Respuesta1

No hacer nada :) Es decir, utilizar por ejemplo trueo :en lugar de breako eliminar la línea por completo.

Una mejor solución sería utilizar un whilebucle:

while true
do
    [your code]
done

De esta manera breakhace lo que quiere y soluciona un error: ¿Qué sucede sirsn noEmpezar con [YyNn]?

información relacionada