проблема с историей кш
Я на Xubuntu 20.04.02
Это вопрос об истории команды ksh . Недавно что-то изменилось, и я ищу способ восстановить старое поведение.
В течение многих лет или около месяца назад, когда вы вводили команду с ошибкой, выдавалось сообщение об ошибке, и команда помещалась в список истории, чтобы ее можно было вызвать и отредактировать. Однако теперь ошибочная команда генерирует ошибку, но НЕ помещается в список истории. Вот пример:
169-> for i in * do echo $i ; done
ksh: syntax error: `done' unexpected
169->
Я намеренно не ставлю точку с запятой перед "do", и команда завершается ошибкой. Но вы можете видеть, что номер истории не увеличился, и команда не может быть вызвана для редактирования. Это настоящая PITA, и у меня есть 40 лет редактирования мышечной памяти, которой это мешает. Мне трудно поверить, что кто-то возится с кодом ksh, но может быть. В любом случае, кто-нибудь еще видел это и есть ли решение вернуть старое поведение?
Спасибо.
1 ответ
Оказывается, старый ksh93 был незаметно заменен чем-то под названием ksh2020, в котором есть ошибки, включая ту, о которой я сообщил здесь. ksh93 не указан в синаптике, но он все еще существует в репозитории, и я смог переустановить его с помощью:
метко установить кш93
Мне также сказали, что после выпуска Ubuntu 20.04 пакет ksh вернулся к 93u, но, насколько я могу судить, это все еще не отражено в синаптике, что очень сбивает с толку. Надеюсь, это поможет другим.
Вот ссылка на отчет об ошибке: