如何在 Bash 提示符中突出显示当前文件夹?

如何在 Bash 提示符中突出显示当前文件夹?

我想使用\w中的变量.bashrc,但我希望提示突出显示当前的结束目录。如下所示:

/usr/local/<strong>bin</strong>

我怎样才能做到这一点?

答案1

PS1='${PWD%/*}/\[\e[33;1m\]${PWD##*/}\[\e[0m\] \$:  '

使用 bash 的语法来操作最后一个组件的 $PWD。将其着色,并为 bash 转义添加更多元数据。

用不同的数字代替 33 来表示不同的颜色。

我个人讨厌提示中的路径,它会在屏幕上移动。我更喜欢标题栏中的路径。

PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME%%.*}: $(pwd -P)\a"'

编辑将 PS1 上的引号改为单引号,因为需要对其进行评估每一个打印时,而不仅仅是读取时。谢谢@Gordon

答案2

使用类似$(dirname \w)/\[$(tput bold)\]$(basename \w)\[$(tput sgr0)\]in 的内容$PS1。不要忘记单引号。

相关内容