我使用 Ubuntu 自带的 PS1 的默认值:
\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$
90% 的情况下都正确。但是,当我cd
指向符号链接“目录”时,使用的是符号链接的名称,而不是值pwd -P
。
\w
我如何更改 \w 以获取真实的当前目录?并且仍然以或所呈现的格式显示\W
?
答案1
使用$(pwd -P)
而不是\w
。像这样:
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]$ '
答案2
为了扩展 hek2mgl 的答案,使您的提示“自动”,请使用变量PROMPT_COMMAND
:
PROMPT_COMMAND='PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]\$ "'
来自手册:
PROMPT_COMMAND
如果设置,则该值将被解释为在打印每个主提示符 ($PS1) 之前执行的命令。