我可以配置 .bashrc 以突出显示我位于 Prod 目录中吗?

我可以配置 .bashrc 以突出显示我位于 Prod 目录中吗?

目前,我正在使用以下内容:

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包含prodproduction,那么我的提示符颜色会发生巨大变化(例如令人烦恼的亮红色,或其他一些明显的变化)。

答案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

相关内容