Новая подсказка удара порождение проблем

Похож на Вас, должен включить pluginsync:

В puppet.conf:

[main]
pluginsync = true

5
13.04.2017, 15:36
3 ответа

Давайте очистим его немного и сделаем его более портативным. В целом, лучше использовать tput генерировать управляющие последовательности вместо трудного кодирования их, как описано в Bash FAQ 53. Таким образом, намного легче найти Ваших пропавших без вести \].

red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
white=$(tput setaf 7)
reset=$(tput sgr0)
PS1="\[$red\][\[$yellow\]\A\[$red\]] \u:\[$green\]\W\[$white\]\$\[$reset\] "

Обратите внимание, что я заменил Ваш date вызов со встроенным быстрым Escape \A это отображает то же самое (24-часовое время в HH:MM формат).

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

9
27.01.2020, 20:33
  • 1
    ! Я не знал о tput. Таким образом, все более ясно и читаемо.Спасибо! –  rubik 14.08.2012, 21:06
  • 2
    Ошеломите это работает очень хорошо. Я просто добавил bold_style=$(tput bold) и \[$bold_style\] в начале строки для создания всего полужирным как в моем вопросе. –  rubik 14.08.2012, 21:13

Вы разбалансировали Ваш \[ и \]. Управляющие последовательности должны быть перенесены в них, так, чтобы удар знал, что они на самом деле не занимают места в Вашем терминале.

Попробуйте это:

PS1="\[\033[1;31m\][\[\033[1;33m\]\$(date +%H:%M)\[\033[1;31m\]] \u:\[\033[1;32m\]\W\[\033[1;37m\]\$\[\033[0m\] "

Решение @jw013 еще лучше, тем не менее, поскольку это намного более чисто.

4
27.01.2020, 20:33
  • 1
    , О, я не понял, что каждая управляющая последовательность должна была быть перенесена как этот.Спасибо! спасибо –  rubik 14.08.2012, 21:04

Таблица ASCII имеет ссылку цветов, полужирных, курсивных, и и т.д.

0
27.01.2020, 20:33

Теги

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