Return un código de salida sin cerrar shell
Me gustaría devolver un código de salida de un script BASH que se llama dentro de otro script, pero que también se puede llamar directamente. Se ve más o menos así:
#!/bin/bash
dq2-get $1
if [ $? -ne 0 ]; then
echo "ERROR: ..."
# EXIT HERE
fi
# extract, do some stuff
# ...
Ahora en la líneaEXIT HERE
el script debe salir y devolver el código de salida 1. El problema es que
return
, porque cuando me olvido de buscar el script en lugar de llamarlo, return willn exit, y el resto del script se ejecutará y desordenará las cosas.No puedo usarexit
, porque esto cierra el caparazón. No puedo usar el buen trucokill -SIGINT $$
, porque esto no permite devolver un código de salida.¿Hay alguna alternativa viable que haya pasado por alto?