关于多个项目:A,B,C,D,E和F. 我通过终端浏览所有项目,并通过终端标签在它们之间进行交换。
有时,我在项目之间混淆,因为它们具有相同的文本颜色,在这种情况下是黄色。
实现这样的目标:
我想在项目的当前路径上分配不同的颜色。
如何检查bash中的当前路径?
#================================
# Colors =
#================================
black="\[\033[0;30m\]"
blue="\[\033[1;37m\]"
green="\[\033[0;32m\]"
cyan="\[\033[0;36m\]"
red="\[\033[0;31m\]"
purple="\[\033[0;35m\]"
brown="\[\033[0;33m\]"
lightgray="\[\033[0;37m\]"
darkgray="\[\033[1;30m\]"
lightblue="\[\033[1;34m\]"
lightgreen="\[\033[1;32m\]"
lightcyan="\[\033[1;36m\]"
lightred="\[\033[1;31m\]"
lightpurple="\[\033[1;35m\]"
yellow="\[\033[1;33m\]"
white="\[\033[1;37m\]"
nc="\[\033[0m\]"
if [ "\w" == "~/dev/projects/biv2" ]; then
export PS1="──$white[$blue\w$white] \n└── $white"
fi
// Default Color
export PS1="──$white[$yellow\w$white] \n└── $white"
答案 0 :(得分:3)
在显示提示之前,您必须使用PROMPT_COMMAND
检查当前目录的内容,并相应地设置PS1
的值。
prompt_cmd () {
case $PWD in
~/dev/projects/biv2) dircolor=$yellow ;;
~/dev/projects/other) dircolor=$blue ;;
# and so on. For any other directory,
*) dircolor=$green
esac
PS1="──$white[$dircolor\w$white] \n└── $white"
}
PROMPT_COMMAND=prompt_cmd
如果没有PROMPT_COMMAND
,您可以执行类似
set_dir_color () {
case $PWD in
~/dev/projects/biv2) dircolor=$yellow ;;
~/dev/projects/other) dircolor=$blue ;;
# and so on. For any other directory,
*) dircolor=$green
esac
echo "$dircolor"
}
PS1="──$white[\$(set_dir_color)\w$white] \n└── $white"