Qualquer comando no meu terminal que saia com código diferente de zero fecha a janela do meu terminal

22

No começo, isso foi um pouco engraçado, como jogar "Bash Roulette" ... mas agora está ficando velho lol

Qualquer comando no meu terminal que saia com código diferente de zero fecha a janela do meu terminal

Foi-me dito que talvez eu tenha set -e definido em algum script bash em algum lugar que meus fontes de terminal.

Eu verifiquei .bash_profile / .bashrc / .profile e não parece que set -e esteja lá.

Haveria algum outro culpado óbvio?

    
por Alexander Mills 28.11.2017 / 00:13

2 respostas

21

Tudo bem, então, de fato, foi um set -e rebelde que causou meus problemas.

A maneira como encontrei o set -e estava usando bash -lx

A melhor coisa a fazer seria usar:

bash -lx > lx.log 2>&1

abra esse arquivo de log e faça uma pesquisa por set ...

uma vez que você encontre aquele desvio 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, o set -e estava em um arquivo que fontes .bash_profile, mas a linha não estava em .bash_profile em si.

    
por 28.11.2017 / 06:28
13

Se você quiser apenas resolver o problema, inclua set +e no seu .bashrc - no fim.

Você pode cavar, há muitos outros lugares onde um set -e pode ser, mas isso vai cuidar do lote.

Se, no entanto, o set -e fizer parte do seu $PROMPT_COMMAND , o acima não funcionará. Experimente printf '%s\n' "$PROMPT_COMMAND" e veja o que há nele.

    
por 28.11.2017 / 00:21