script codes bash message exit

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; }