Подтвердить что ты не робот

Bash подсказка о выпуске журнала

Это странно, что я не смог найти хороший ответ с Google (конечно, всегда есть вероятность, что я просто потерплю неудачу). В моем приглашении bash, если я окрашу часть приглашения, когда я нажимаю "вверх", чтобы перейти к предыдущей команде, я не могу перейти к началу строки после того, как она прошла определенное количество символов (в частности, 31).

Мое текущее приглашение bash следующее: (цвета определены ранее в моем .bashrc)

PS1="[\[email protected]$cyan\h$NC \w] "

Но если я изменю его на это:

PS1="[\[email protected]\h \w] "

Это больше не мешает мне перейти к началу строки.

Нечетная часть, визуально, когда я ударяю домой, чтобы перейти к началу строки (или использовать клавиши со стрелками), она останавливает 11 символов в строке, но если я отредактирую ее там, она отредактирует начало в начале строки.

Кто-нибудь знает, почему это может произойти? Я хотел бы использовать цвета в моей подсказке, так как я администрирую сервер, а цвета - это то, как я могу отличить свои ящики с первого взгляда.

4b9b3361

Ответ 1

Непечатные последовательности, такие как цветовые коды, должны быть окружены \[ и \], чтобы их длины не учитывались как часть длины приглашения.