No começo isso foi um pouco engraçado, como jogar "Bash Roulette" ... mas agora está ficando velho lol
Qualquer comando em meu terminal que saia com código diferente de zero fecha minha janela de terminal
Disseram-me que talvez eu tenha set -e
definido algum script bash em algum lugar que meu terminal fornece.
Eu verifiquei .bash_profile
/ .bashrc
/ .profile
e não parece que set -e
está lá.
Haveria outros culpados óbvios?
Tudo bem, então, de fato, foi um capricho
set -e
que causou meu problema.A maneira que eu encontrei
set -e
foi usandobash -lx
A melhor coisa a fazer seria usar:
bash -lx > lx.log 2>&1
em seguida, abra esse arquivo de log e faça uma pesquisa por
set
...uma vez que você encontre esse rebelde
set -e
, você pode remover essa linha e seu problema deve desaparecer! (A reinicialização da máquina pode ser uma boa ideia).No meu caso,
set -e
estava em um arquivo de origem .bash_profile, mas a linha não estava no próprio .bash_profile.Se você quiser apenas resolver o problema, inclua
set +e
no seu.bashrc
— no final.Você pode cavar - há muitos outros lugares onde um
set -e
pode estar - mas isso resolverá tudo.Se, no entanto, fizer
set -e
parte do seu$PROMPT_COMMAND
, o procedimento acima não funcionará. Experimenteprintf '%s\n' "$PROMPT_COMMAND"
e veja o que há nele.