目前,我正在使用以下内容:
export CLICOLOR=1
export PROMPT_DIRTRIM=6
PS1='${debian_chroot:+($debian_chroot)}\[\e[0;31m\]\u\[\e[m\]@\
[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
我对这实际上是如何运作的几乎一无所知!它确实修剪了我的目录以使其更具可读性,并添加了一些颜色。
有没有办法可以在此处修改我的选项,以使其非常清楚我位于生产目录中?我在想,如果我的当前pwd
包含prod
或production
,那么我的提示符颜色会发生巨大变化(例如令人烦恼的亮红色,或其他一些明显的变化)。
答案1
使用该PROMPT_COMMAND
设置,它允许您在打印提示之前运行任意代码。 (假设 bash。)作为概念证明:
PROMPT_COMMAND='case "$PWD" in *prod*) printf "\033[31m%s/\033[0m > " ${PWD##*/} ;; *) printf "%s/ > " ${PWD##*/};; esac'
如果变量在任何地方包含“prod”,它使用 xterm 转义代码将前景色设置为红色PWD
,但仅在提示中显示最顶层的目录名称。高级颜色代码讨论在这里:https://superuser.com/questions/270214/how-can-i-change-the-colors-of-my-xterm-using-ansi-escape-sequences