4

我正在尝试解决我在使用 bash 提示符 (PS1) 操作时遇到的一个奇怪问题,我很困惑为什么 \W 在我的情况下不正确地重写“pwd”。

user@server-01:/repo$ PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
user@server-01:rpoo$
user@server-01:rpoo$ PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
user@server-01:/repo$

以下 / 目录显示得很奇怪:

/boot = bott
/home = hmee
/lib32 = li332
/lib64 = li664
/media = meiia
/proc = pocc
/repo = rpoo
/sbin = sinn

我想知道的是为什么'\W'显示'rpoo'而不是'repo',而上面的其他...另一方面'\w'按预期显示完整路径和正确名称?!我的提示并没有做任何非常复杂的事情,并且我的 bash 提示中有一个“因素”依赖语句,但即使回到默认值,我仍然会看到这个时髦的替换。这是一个 git 存储库目录,但这应该与它没有任何关系。我只在拥有此存储库的三台服务器中的两台上遇到此问题,其他具有相同 bash.bashrc 文件的服务器工作并运行良好,没有这种 \W 时髦的替换。具有相同提示的新部署系统是可以的。

我试图搜索 \W 的设置方式或内容,但没有成功,但 \w 的行为不同。任何帮助追查这件事???

4

0 回答 0