【问题标题】:Colors in git-prompt.sh outputgit-prompt.sh 输出中的颜色
【发布时间】:2017-01-27 12:29:22
【问题描述】:

我正在尝试修改 git-prompt.sh 以将 */+ repo 状态指示符替换为更具可读性的版本,例如“更改”/“暂存文件”。

只需更改文本就很容易了,但我也希望它们具有不同的颜色。简单地将一些颜色转义序列(例如\[\e[33m\])粘贴到状态描述字符串中是行不通的;转义序列等只是转储到输出中。

当从 git-prompt.sh 脚本输出时,有什么方法可以让 bash 理解颜色?

【问题讨论】:

    标签: git bash prompt


    【解决方案1】:

    看来你必须使用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.htmlhttps://unix.stackexchange.com/questions/269077/tput-setaf-color-table-how-to-determine-color-codes 了解颜色列表。

    【讨论】:

    • 澄清一下,这些更改不在 .bashrc 中(在设置 PS1 和调用 __git_ps1 时它已经在那里工作了,但它的所有输出都会变成单一颜色),而是在 git-prompt.sh本身。但是,使用 tput 确实在那里工作。唯一的事情是它也会在结果中输出 [ ],所以我删除了这些并得到了我想要的结果。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2023-03-10
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多