Я использую 32-разрядную версию Red Hat 5 (2.6.18-194.26.1.el5).
Проблема в том, что когда я вспоминаю любую предыдущую команду в истории bash, первый символ в команде отображается сразу после приглашения оболочки, без пробела, likeo:
\[me@mymachine tmp]$man mysql
Если я ввожу Ctrl-C и наберу команду еще раз, она выглядит так:
\[me@mymachine tmp]$ man mysql
Это заставляет вспоминать команду и редактировать ее перед повторным вводом настоящей боли. По сути, если я пытаюсь редактировать вызванную команду, мои изменения происходят на одну позицию символа слева (я полагаю) от того, что я вижу на экране. Это немного утомительно для описания, и, кажется, происходит только с командами с большим количеством аргументов.
ОБНОВЛЕНИЕ: содержимое /etc /sysconfig /bash-prompt-screen,
1 #!/bin/bash
2 echo -n $'\033'"_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"$'\033\\\\'
и содержимое /etc /bashrc,
24 screen)
25 if [ -e /etc/sysconfig/bash-prompt-screen ]; then
26 PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
27 else
28 PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"'
29 fi
30 ;;
Я отключил bash-prompt-screen, переименовав его - это исправлено. Вполне возможно, что в последней версии экрана для RHEL 5 есть исправление строки приглашения bash-prompt-screen. Ошибка видна в версии экрана 4.00.03 (FAU) 23 октября 2006 года. (Я заметил обновление в очереди, которое устанавливается, когда я пишу это.)