Eu executo zsh
por padrão e passo a maior parte do meu dia logado em um terminal. Minha estação de trabalho e todos os servidores com os quais eu interajo diariamente são baseados em Linux, e eu uso zsh
ou bash
em todas as minhas contas, dependendo da máquina. Eu prefiro comandos de tecla usando um mouse, então eu geralmente digito exit
para fechar uma janela de terminal quando não preciso mais dela.
Fechar uma janela de terminal com exit
nunca falhou até hoje. Ao tentar fechar a janela, recebi este erro:
% exit
exit:55: maximum nested function level reached
Eu acho que entendi o erro em si, que o terminal está de alguma forma experimentando uma chamada recursiva sem terminação. Mas o que eu não entendo é como exit
causou isso, e o que eu fiz para que isso acontecesse.
Eu abri esta janela para entrar em um servidor. Eu fiz algum trabalho lá e saí da sessão. Em seguida, usei wget
para extrair uma imagem ISO e usei dd
para gravá-la em um disco rígido externo. Depois disso, digitei exit
para fechar a janela do terminal e obtive o erro acima.
Atualizei meu sistema para ver se esse pode ser o problema.
Procurei por qualquer outra pessoa com esse erro, mas todas pareciam estar relacionadas a chamadas de recursão reais, e não a comandos internos executados por eles mesmos.
Eu abri uma nova janela de terminal, digitei exit
no prompt e não tive problemas.
Eu abri uma nova janela de terminal novamente, coloquei o shell no mesmo servidor que eu havia conectado anteriormente, digitei exit
no prompt e não tive nenhum problema.
Eu abri uma nova janela de terminal novamente, entrei no mesmo servidor novamente, encerrei, puxei a mesma imagem ISO de antes, escrevi para /dev/null/
, digitei exit
no prompt e não teve nenhum problema.
Não sei o que aconteceu no primeiro terminal. Claro que posso apenas fechar a janela, mas o que não entendo é por que isso aconteceu. Alguma ajuda?