Назад | Перейти на главную страницу

Странное поведение с ksh?

Итак, я нашел кое-что интересное в ksh. Я обнаружил, что если последний символ \, затем сразу backspace, символ заменяется на ^H. Затем я могу снова нажать клавишу возврата, чтобы убрать его.

С каким волшебством я здесь имею дело? Это ошибка? Пробовать это в bash не дали такого же результата.

Это сделано намеренно, хотя я не возражаю против того, чтобы это было странно. Когда включен режим vi или emacs (set -o vi или set -o emacs) ksh предоставляет эту функцию (которая отсутствует ни в vi, ни в emacs, насколько я знаю), где обратная косая черта цитирует следующий управляющий символ.

Это похоже на lnext персонаж (Ctrl-V), но послабее. Таким образом вы можете ввести буквальное обратное пространство, но чтобы ввести буквальный ^C вам нужен ^V первый.