Я работаю на старом сервере, на котором установлена модифицированная FreeBSD 6.1 с bash 2.05b.0(1)-release.
При нажатии клавиши «вверх» выскакивает последняя команда из истории, но я не могу получить доступ к последнему символу, как будто строка на самом деле на один символ короче, чем отображается. Поэтому backspace бесполезен, а delete просто калечит последние несколько символов.
Терминал — это «терминатор» со следующими параметрами совместимости:
- Клавиша Backspace генерирует: Control-H
- Клавиша Delete генерирует: Escape-последовательность
Мне было интересно, является ли это нормальным поведением этой версии bash или это какая-то проблема неправильной конфигурации/совместимости терминала.
Параметры Bash следующие:
# set -o
allexport off
braceexpand on
emacs off
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi on
xtrace off
решение1
Оказываетсяvi-режимбыл включен в .inputrc для каждого пользователя в системе. Он ведет себя немного иначе, чем vi-mode в zsh, к которому я привык, то есть 1) при нажатии «вверх» он немедленно переходит в командный режим и 2) для перехода в режим вставки требуется двойное нажатие «a» или «i».