codes - exit 1 exit 0 bash
salir con mensaje de error en bash(oneline) (2)
Puedes usar una función por conveniencia:
function error_exit {
echo "$1" >&2 ## Send message to stderr. Exclude >&2 if you don''t want it that way.
exit "${2:-1}" ## Return a code specified by $2 or 1 by default.
}
[[ $TRESHOLD =~ ^[0-9]+$ ]] || error_exit "Threshold must be an integer value!"
¿Es posible salir en caso de error, con un mensaje, sin usar sentencias if ?
[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit ERRCODE "Threshold must be an integer value!"
Por supuesto, el lado derecho de ||
no funcionará, solo para darle una mejor idea de lo que estoy tratando de lograr.
En realidad, ni siquiera me importa con qué código ERR va a salir, solo para mostrar el mensaje.
EDITAR
Sé que esto funcionará, pero ¿cómo suprimir el numeric arg required
aparezca después de mi mensaje personalizado?
[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit "Threshold must be an integer value!"
exit
no toma más de un argumento Para imprimir cualquier mensaje como desee, puede usar echo
y luego salir.
[[ $TRESHOLD =~ ^[0-9]+$ ]] || /
{ echo "Threshold must be an integer value!"; exit $ERRCODE; }