在命令行中,我需要按目录设置自定义文本和背景颜色。示例:
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
无论如何都会处理它。我只是把它留在那里作为参考,所以您可以根据需要添加任何其他颜色。