5

В моем файле bashrc моя подсказка настроена следующим образом:

  TC_GRE="^[[0;32;40m"                                                          
  TC_RESET="^[[0m"                                                              
  PS1="${TC_GRE}i:${TC_RESET}"  

Таким образом, подсказка представляет собой просто зеленое «i:». Когда я работаю в своей оболочке и прокручиваю историю, моя командная строка портится. Учтите следующее:

i: shell_command_one
i: shell_command_two
i: shell_command_three

Теперь, когда я поднимаюсь в своей истории, строка может выглядеть примерно так:

i: shell_comshell_command_two

Если я нажму Enter, он выполнит shell_command_two. (Обратите внимание, что shell_com - это просто ненужные символы на терминале.

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

п.с. Я не уверен, что это лучше опубликовано на суперпользователе, но я подумал, что это может быть лучше здесь, так как речь идет о скриптах bash.

1 ответ1

3

Похоже, у вас есть искаженный цветовой код CSI. Попробуйте это в вашем файле .bashrc :

TC_GRE="\[\033[0;32m\]"                                                          
PS1="${TC_GRE}i: "  

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .