Почему моя подсказка bash повторяет свою последнюю строку дважды, когда я запускаю команду ls или cd или misc?
Моя подсказка такая:
PS1="\[\033[32m\]\u@myserver\n\[\033[33m\w$\033[0m\] "
Итак, после вывода я вижу это:
jake@myserver
~/public_html$
~/public_html$
Когда я должен только (я думаю) увидеть:
jake@myserver
~/public_html$
Команды цвета работают (прекрасно), но эта двойная линия сводит меня с ума. Я адаптировал эту командную строку из той, что поставляется с MySysGit для Windows.
Почему это происходит?
Если я просто нажму клавишу ввода в приглашении, он печатается правильно, без повторяющейся второй строки. Дублирование происходит только после ls, cd или некоторых других команд bash.
1 ответ
Я не вижу удвоения, но вы пропустили две экранированные скобки:
PS1="\[\033[32m\]\u@myserver\n\[\033[33m\]\w$\[\033[0m\] "
Вы также можете увидеть, если PROMPT_COMMAND
имеет значение. Это может привести к некоторому результату. Это скажет вам, что он установлен:
echo $PROMPT_COMMAND
Не зная, что в нем содержится, я не могу сказать вам, что с этим делать, если это является частью проблемы. Тем не менее, вы можете очистить это так:
PROMPT_COMMAND=
Это ничего после знака равенства.