Retorne um código de saída sem fechar o shell
Gostaria de retornar um código de saída de um script BASH chamado em outro script, mas também poderia ser chamado diretamente. É mais ou menos assim:
#!/bin/bash
dq2-get $1
if [ $? -ne 0 ]; then
echo "ERROR: ..."
# EXIT HERE
fi
# extract, do some stuff
# ...
Agora na linhaEXIT HERE
o script deve sair e retornar o código de saída 1. O problema é que
return
, porque quando eu esqueço a fonte do script em vez de chamá-lo, o retorno seránã exit, e o restante do script será executado e estragará tudNão consigo usarexit
, porque isso fecha o shell.Eu não posso usar o bom truquekill -SIGINT $$
, porque isso não permite retornar um código de saídExiste alguma alternativa viável que eu tenha esquecido?