在命令行中,按目录自定义文本和背景颜色

在命令行中,按目录自定义文本和背景颜色

在命令行中,我需要按目录设置自定义文本和背景颜色。示例:

cd /home/someuser/Documents [ENTER] # I have black text white background
cd /home/someuser/Public [ENTER]  #I have white text on black background

如何实现这一点?

答案1

一个解决方案是使用cd函数覆盖。

假设我将函数保存在名为的文件中cd$HOME现在我可以通过 开始使用它$ source cd,然后$ cd ~/Documents等等。

在此处输入图片描述

function cd(){

    builtin cd "$@";

    case "$PWD" in

    "$HOME/Documents")
        echo -ne "\033]10;#000000\007"
        echo -ne "\033]11;#FFFFFF\007"
      ;;
    "$HOME/Public")
        echo -ne "\033]10;#FFFFFF\007"
        echo -ne "\033]11;#000000\007"
      ;;
    *)
        # Any other place
        echo -ne "\033]10;#FFFFFF\007"
        echo -ne "\033]11;#000000\007"
      ;;
    esac
}

请注意,您可以省略该$HOME/Public部分,因为# Any other place无论如何都会处理它。我只是把它留在那里作为参考,所以您可以根据需要添加任何其他颜色。

相关内容