2017-01-27 10 views
0

Я пытаюсь изменить git-prompt.sh, чтобы заменить индикаторы состояния реплики */+ на более читаемые версии, такие как «изменения»/«поэтапные файлы».Цвета в файле git-prompt.sh

Просто изменить текст достаточно просто, но я также хочу, чтобы для них были разные цвета. Простое вложение некоторых цветопередающих последовательностей, таких как \[\e[33m\], в строки описания состояний не работает; escape-последовательности и т. д. просто выгружаются в выходной файл.

Есть ли способ, которым я могу понять цвета bash при выходе из сценария git-prompt.sh?

ответ

0

Кажется, вы должны использовать цвета tput.

Пример из https://gist.github.com/trey/2722934#gistcomment-1835441

YELLOW="\[$(tput setaf 3)\]" 
RESET="\[$(tput sgr0)\]" 

PS1="\h:\W \u\$(__git_ps1 \" ${YELLOW}(%s)${RESET} \")\$ " 

Смотрите также https://raymii.org/s/snippets/Bash_Bits_Add_Color_Output_To_Your_Scripts.html и https://unix.stackexchange.com/questions/269077/tput-setaf-color-table-how-to-determine-color-codes для списка цветов.

+0

Чтобы уточнить, эти изменения не находятся в .bashrc (он уже работал там при настройке PS1 и вызове __git_ps1, но весь его вывод получал один цвет), а скорее в самом git-prompt.sh. Однако использование tput действительно работает. Единственное, что это могло бы вывести \ [\] в результате, поэтому я удалил их и получил результат, который я хотел. Благодаря! – tacospice