终端提示符和标题栏中的完整路径,并在 .bashrc 中修改 PS1

终端提示符和标题栏中的完整路径,并在 .bashrc 中修改 PS1

我在几台运行 Linux Mint 20.1“Ulyssa”-Cinnamon(64 位)的机器上,链接到网络,使用 Bash 5.0.17 作为我的默认 shell。

今天,我决定自定义终端模拟器(GNOME 终端)的提示符和窗口标题。

我从过去就知道这可以在每个用户的文件中完成.bashrc

由于每台电脑都只有一个用户 + root,所以我就这样走了,我仔细地阅读了每一行,说实话,大部分修改了注释。

我设法根据自己的喜好识别并更改颜色。还有我想要的间距。


相关 PS1 线路:

# Prompt:
# user @ host : full_path
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u \[\033[00m\]@ \[\033[01;34m\]\h\[\033[00m\] : ${PWD} \$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u @ \h : ${PWD} \$ '
fi

# Set the window title to the same as prompt
case "$TERM" in
    xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u @ \h : ${PWD} \a\]$PS1" ;;
               *) ;;
esac

因此,剩下的唯一一件事(我在几个小时内失败了)是设置终端窗口标题标题,它似乎在启动时起作用,但如果更改目录则不会更改。如果是的话我很抱歉弄乱。我只是希望它无论我在哪里都能显示完整的路径(没有波形符)。谢谢。


文字图片(终端标题栏标题未更新):

终端标题栏标题未更新

答案1

由于我不知道的原因,只需要转义这一行窗口标题定义前面的$(美元符号) :PWD

    xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u @ \h : \$PWD \a\]$PS1" ;;

我对其进行了一些测试,现在准备将其部署在所有计算机上。

相关内容