Фон
По умолчанию я запускаю zsh
и большую часть дня провожу в терминале. Моя рабочая станция и все серверы, с которыми я ежедневно общаюсь, работают на базе Linux, и я использую zsh
или bash
для всех своих учетных записей, в зависимости от компьютера. Я предпочитаю ключевые команды, а не мышь, поэтому обычно набираю exit
чтобы закрыть окно терминала, когда оно мне больше не нужно.
проблема
Закрытие окна терминала с exit
никогда не удавалось, до сегодняшнего дня. При попытке закрыть окно я получил эту ошибку:
% exit
exit:55: maximum nested function level reached
Я думаю, что я понимаю саму ошибку, что терминал как-то испытывает неразрывный рекурсивный вызов. Но я не понимаю, как exit
вызвал это, и что я сделал, чтобы это произошло.
Как я попал сюда
Я открыл это окно для оболочки на сервер. Я проделал там некоторую работу, а затем вышел из этой сессии. Затем я использовал wget
чтобы вытащить ISO-образ, и использовал dd
чтобы записать его на внешний жесткий диск. После этого я набрал команду exit
чтобы закрыть окно терминала, и получил вышеуказанную ошибку.
Действия по устранению неполадок
Я обновил свою систему, чтобы увидеть, может ли это быть проблемой.
Я искал кого-то еще с этой ошибкой, но все они, похоже, были связаны с реальными рекурсивными вызовами, а не с встроенными командами, выполняемыми ими.
Я открыл новое окно терминала, напечатал
exit
в приглашении, и у меня не было проблем.Я снова открыл новое окно терминала, зашел на тот же сервер, к которому я подключился ранее, немного поковырялся, напечатал
exit
в приглашении и без проблем.Я снова открыл новое окно терминала, снова зашел на тот же сервер, вышел, затем вытащил тот же ISO-образ, что и раньше, записал его в
/dev/null/
, набрал командуexit
в приглашении, и у меня не возникло проблем.
Я в растерянности относительно того, что произошло в первом терминале. Конечно, я могу просто закрыть окно, но я не понимаю, почему это произошло. Любая помощь?