在命令行中时,我需要按目录设置自定义文本和背景颜色。例子:
cd /home/someuser/Documents [ENTER] # I have black text white background
cd /home/someuser/Public [ENTER] #I have white text on black background
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
Rav*_*ina 15
一种解决方案是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
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可以省略该$HOME/Public部分,因为# Any other place无论如何都会处理它。我只是把它留在那里作为参考,所以你可以根据需要添加任何其他颜色。