Итак, я нашел кое-что интересное в ksh
. Я обнаружил, что если последний символ \
, затем сразу backspace, символ заменяется на ^H
. Затем я могу снова нажать клавишу возврата, чтобы убрать его.
С каким волшебством я здесь имею дело? Это ошибка? Пробовать это в bash
не дали такого же результата.
Это сделано намеренно, хотя я не возражаю против того, чтобы это было странно. Когда включен режим vi или emacs (set -o vi
или set -o emacs
) ksh предоставляет эту функцию (которая отсутствует ни в vi, ни в emacs, насколько я знаю), где обратная косая черта цитирует следующий управляющий символ.
Это похоже на lnext
персонаж (Ctrl-V), но послабее. Таким образом вы можете ввести буквальное обратное пространство, но чтобы ввести буквальный ^C
вам нужен ^V
первый.