Você poderia matar o shell original ( kill $$
) antes de chamar exit
, e isso provavelmente funcionaria. Mas:
- parece bastante feio para mim
- ele será quebrado se você tiver um segundo subshell, ou seja, usar um subshell dentro de um subshell.
Em vez disso, você pode usar uma das várias maneiras de repassar um valor na FAQ do Bash . A maioria deles não é tão boa, infelizmente. Você pode estar apenas procurando erros após cada chamada de função ( -e
tem muitos problemas ). Ou isso, ou mude para Perl.