Bash:如何为命令行及其输出获取不同的颜色?

Bash:如何为命令行及其输出获取不同的颜色?

基本上,我正在尝试编辑我的.bashrc内容,以便当我键入ls或在控制台上键入任何内容时,它将以绿色显示。同时,ls其他命令(python / java脚本的输出)显示的所有结果/输出将以灰色显示。

这可能吗 ?我需要在.bashrc文件中添加什么?谢谢

更新:

出色地。非常感谢您的回答和评论:

我从这看到这个链接我只需在定义旁边添加以下内容$PS1

trap '[[ -t 1 ]] && tput sgr0' DEBUG

然后就可以了。我不确定会有任何问题。但目前看来还有效。

答案1

尝试:

PS1="\[\e[m\]$PS1\[\e[32m\]"
trap 'printf "\e[m" > /dev/tty' DEBUG

这将颜色设置为绿色的就在提示符之后,并在执行每个命令之前(以及提示符之前)返回默认值。请注意,如果愿意,命令仍然可以更改其输出的颜色。

您可能更喜欢使用具有适当语法突出显示的 shell,例如fish,fizshzsh(带有附加组件)而不是bash

相关内容