1

Фон

По умолчанию я запускаю zsh и большую часть дня провожу в терминале. Моя рабочая станция и все серверы, с которыми я ежедневно общаюсь, работают на базе Linux, и я использую zsh или bash для всех своих учетных записей, в зависимости от компьютера. Я предпочитаю ключевые команды, а не мышь, поэтому обычно набираю exit чтобы закрыть окно терминала, когда оно мне больше не нужно.

проблема

Закрытие окна терминала с exit никогда не удавалось, до сегодняшнего дня. При попытке закрыть окно я получил эту ошибку:

% exit
exit:55: maximum nested function level reached

Я думаю, что я понимаю саму ошибку, что терминал как-то испытывает неразрывный рекурсивный вызов. Но я не понимаю, как exit вызвал это, и что я сделал, чтобы это произошло.

Как я попал сюда

Я открыл это окно для оболочки на сервер. Я проделал там некоторую работу, а затем вышел из этой сессии. Затем я использовал wget чтобы вытащить ISO-образ, и использовал dd чтобы записать его на внешний жесткий диск. После этого я набрал команду exit чтобы закрыть окно терминала, и получил вышеуказанную ошибку.

Действия по устранению неполадок

  1. Я обновил свою систему, чтобы увидеть, может ли это быть проблемой.

  2. Я искал кого-то еще с этой ошибкой, но все они, похоже, были связаны с реальными рекурсивными вызовами, а не с встроенными командами, выполняемыми ими.

  3. Я открыл новое окно терминала, напечатал exit в приглашении, и у меня не было проблем.

  4. Я снова открыл новое окно терминала, зашел на тот же сервер, к которому я подключился ранее, немного поковырялся, напечатал exit в приглашении и без проблем.

  5. Я снова открыл новое окно терминала, снова зашел на тот же сервер, вышел, затем вытащил тот же ISO-образ, что и раньше, записал его в /dev/null/ , набрал команду exit в приглашении, и у меня не возникло проблем.

Я в растерянности относительно того, что произошло в первом терминале. Конечно, я могу просто закрыть окно, но я не понимаю, почему это произошло. Любая помощь?

0