0
我试图修改git-prompt.sh以用更具可读性的版本替换*/+回购状态指示器,例如“更改”/“暂存文件”。git-prompt.sh输出中的颜色
只是改变文本很容易,但我也想为他们不同的颜色。只将诸如\[\e[33m\]
的一些颜色转义序列粘贴到状态描述字符串中不起作用;转义序列等只是转储到输出。
当git-prompt.sh脚本输出时,有什么方法可以让bash理解bash的颜色吗?
我试图修改git-prompt.sh以用更具可读性的版本替换*/+回购状态指示器,例如“更改”/“暂存文件”。git-prompt.sh输出中的颜色
只是改变文本很容易,但我也想为他们不同的颜色。只将诸如\[\e[33m\]
的一些颜色转义序列粘贴到状态描述字符串中不起作用;转义序列等只是转储到输出。
当git-prompt.sh脚本输出时,有什么方法可以让bash理解bash的颜色吗?
看来你必须使用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为颜色列表为例。
为了澄清,这些更改不在.bashrc中(它在设置PS1和调用__git_ps1时已经在那里工作,但它的所有输出将获得单一颜色),而是在git-prompt.sh本身中。但是,使用tput在那里工作。唯一的一点是它会在结果中输出\ [\],所以我删除了那些并得到了我想要的结果。谢谢! – tacospice