![Bash:颜色提示和命令与输出流不同](https://linux22.com/image/1368697/Bash%EF%BC%9A%E9%A2%9C%E8%89%B2%E6%8F%90%E7%A4%BA%E5%92%8C%E5%91%BD%E4%BB%A4%E4%B8%8E%E8%BE%93%E5%87%BA%E6%B5%81%E4%B8%8D%E5%90%8C.png)
我想使我的 shell 的提示符和命令的颜色与输出流中打印的文本不同。
我当前的导出PS1
如下:
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➜\e[m "
我正在正确地为多行提示的第一行着色,但在第二行中,我想将提示箭头➜
和命令本身都着色为白色,同时将输出保留为灰色。
例如,查看我的 shell 的以下屏幕截图。ls
除了提示箭头之外,我还尝试将命令颜色设为白色➜
,但没有其他颜色。我无法弄清楚如何在不更改整个终端主题的文本颜色设置的情况下为命令着色。
答案1
文本输入和控制台输出有不同的颜色解释如何做:
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➜ "
trap 'echo -ne "\e[0m" ' DEBUG
应该做你想做的事: