Я хочу, чтобы моя подсказка отображала:
текущий (абсолютный) рабочий каталог, окрашенный в зеленый цвет, и
в новой строке, знак доллара и пустое место.
Я использую эту строку в .profile
export PS1='\e[0;32m$(pwd)\n\e[m$ '
Так, когда, например, Desktop
, моя подсказка выглядит так:
Однако иногда при нажатии стрелки вверх для повторного запуска предыдущих команд, в в начале подсказки появляется случайная последовательность символов, которая, кажется, не исчезнет, если я не нажму enter, e. г.
Я никогда не попадал в команду cd cd Desktop
. Самое странное, что backspace даже не удалит первую из двух команд cd
выше!
Есть предложения?
Необходимо удостовериться, что непечатаемые символы в подсказке находятся в завершенных квадратных скобках, иначе колотят, не может вычислить размер подсказки правильно. Я думаю, что зафиксировал его для Вас:
PS1='\[\e[0;32m\]$PWD\n\[\e[m\]$ '
В первую очередь, большое спасибо @Zanna для указания на корректный способ пойти об этом.
Ради более полного ответа я развернул решение, которое включает:
a) cwd в зеленом цвете
b) в Новой строке, ответвление мерзавца (если таковые имеются) в желтоватом цвете с красной звездой, если ответвление грязно
Для выполнения b мерзавец, осведомленная подсказка необходима
Это проходит примерно так как заключительная строка в ~/.bashrc
export PS1='\[\e[0;32m\]$PWD\n\[\e[m\]\[\e[0;33m\]$git_branch\[\e[m\]\[$txtred\]$git_dirty\[$txtrst\]$ '
Подсказка теперь, надо надеяться, расширится до sth как это, если Вы будете на ответвлении мерзавца