Почему моя пользовательская подсказка bash дает сбой при просмотре истории [дубликат]

0
19.12.2018, 01:30
1 ответ

Одна из ваших строк читается как:

"[\[\e[0;36;40m\u@\H\]\[\e[0;37;40m]\]\[\e[1;34;40m${ENV}\] \[\e[1;31;40m\w\]\[\e[1;32;40m$(__git_ps1)\] \[\e[0;37;40m${NPM_PACKAGE_INFO}\]\n\[\e[0;37;40m${SYMBOL}\] "

В котором вы заключаете каждый текст внутри \[\]пар. Если вы удалите новую строку \nи попробуете PS1:

PS1="[\[\e[0;36;40m\u@\H\]\[\e[0;37;40m]\]\[\e[1;34;40m${ENV}\] \[\e[1;31;40m\w\]\[\e[1;32;40m$(__git_ps1)\] \[\e[0;37;40m${NPM_PACKAGE_INFO}\] n\[\e[0;37;40m${SYMBOL}\] "

Вы обнаружите, что большая часть приглашения будет заменена командами истории, если вы нажмете (стрелку вверх ).

Просто поместите текст, предназначенный для использования межстрочного интервала, вне скобок:

PS1="[\[\e[0;36;40m\]\u@\H \[\e[0;37;40m]\]\[\e[1;34;40m\]${ENV} \[\e[1;31;40m\]\w\[\e[1;32;40m\]$(__git_ps1) \[\e[0;37;40m\]${NPM_PACKAGE_INFO} n\[\e[0;37;40m\]${SYMBOL} "

И попробуйте еще раз.

После того, как это заработает правильно, добавьте новую строку \nобратно и повторите попытку.

Если проблема не устранена, обновите bash до версии 4.4.18 (, имеющей встроенную версию )или аналогичную.

1
28.01.2020, 04:08

Теги

Похожие вопросы