Bash:颜色提示和命令与输出流不同

Rya*_*lah 5 bash shell command-line colors

我想为 shell 的提示和命令设置与输出流中打印的文本不同的颜色。

\n\n

我当前的导出PS1如下:

\n\n
export PS1="\\e[0;36m\\h:\\e[m \\e[1;33m\\w\\e[m\\[\\033[32m\\]\\$(parse_git_branch)\\[\\033[00m\\]\\n\\e[0;37m\xe2\x9e\x9c\\e[m "\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在正确地为多行提示的第一行着色,但在第二行中,我想将提示箭头\xe2\x9e\x9c和命令本身都着色为白色,同时将输出保留为灰色。

\n\n

例如,请参阅我的 shell 的以下屏幕截图。ls除了提示箭头之外,我还尝试将命令颜色设置为白色\xe2\x9e\x9c,但没有其他颜色。我无法弄清楚如何在不更改整个终端主题的文本颜色设置的情况下为命令着色。

\n\n

shell 输出的屏幕截图

\n

lem*_*eze 3

文本输入和控制台输出的不同颜色解释了如何操作:

\n\n
export PS1="\\e[0;36m\\h:\\e[m \\e[1;33m\\w\\e[m\\[\\033[32m\\]\\$(parse_git_branch)\\[\\033[00m\\]\\n\\e[0;37m\xe2\x9e\x9c "\ntrap \'echo -ne "\\e[0m" \' DEBUG\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该做你想做的事:

\n\n

在此输入图像描述

\n