История FreeBSD bash: невозможно получить доступ к последнему символу команды

История FreeBSD bash: невозможно получить доступ к последнему символу команды

Я работаю на старом сервере, на котором установлена ​​модифицированная 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».

Связанный контент