如何让我的提示显示当前目录和上一个目录

如何让我的提示显示当前目录和上一个目录

我编辑了.bashrc文件

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;36m\]\W:\[\033[01;34m\]\W \[\033[00m\]\$ '


else
    PS1='[${debian_chroot:+($debian_chroot)}\u:\W \$ ] '
fi

所以我的提示看起来像这样user:Pictures:Pictures $

但我想在我的用户名后显示我以前的目录。

我知道用命令basename $(dirname 'pwd')我可以提取以前的目录。

有什么方法可以使我的提示看起来像这样?

user:prevDir:Pictures $

非常感谢(如果我的英语或术语不是很好,我很抱歉,因为我是 Ubuntu 新手)

答案1

将第一个替换\W${OLDPWD/\/home\/$USER/\~}

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;36m\]${OLDPWD/\/home\/$USER/\~}:\[\033[01;34m\]\W \[\033[00m\]\$ '
~$ cd tmp
~/tmp$ PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;36m\]${OLDPWD/\/home\/user/\~}:\[\033[01;34m\]\W \[\033[00m\]\$ '
user:~:tmp $ 

${OLDPWD/\/home\/$USER/\~}/home/$USER是一个参数扩展,它用 替换开头$OLDPWD的潜在扩展~,以便打印~用户主目录的完整路径(模仿默认提示的行为)。

如果不想这样,\W只需替换为$OLDPWD

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;36m\]$OLDPWD:\[\033[01;34m\]\W \[\033[00m\]\$ '
~$ cd tmp
~/tmp$ PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;36m\]$OLDPWD:\[\033[01;34m\]\W \[\033[00m\]\$ '
user:/home/user:tmp $ 

相关内容