Em relação ao teste se uma "variável é 0", pode-se usar:
if [ "$MYVAR" -eq 0 ] ; then exit ; fi
Ou, se preferir:
if [[ $MYVAR -eq 0 ]] ; then exit ; fi
A expressão [[ -n "$MYVAR" ]]
testa um valor de cadeia não vazio de MYVAR. A string "0" não é vazia: ela tem um caractere, o mesmo que a string "1".
exit
fará com que o script seja encerrado. return
, por contraste, é usado em funções ou scripts originados quando você deseja sair da função ou do script de origem, mas continua com a execução do script de chamada. Executar exit
em uma função faria com que a função e seu script de chamada fossem encerrados.