2012年3月26日星期一

Bash提示符的Bug

当用户在passwd文件中的家目录最后有"/"时,Bash的提示符中"\w"指代的家目录不能缩写为"~",而是原样显示目录。我汇报了这个bug,但是作者并没承认,更没打算修复。

如果咬文嚼字,这个还真可以不算bug。Bash的手册里这么写的:
\w    the current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable) 
因为这种情况下,"current working directory"是去掉"/"的,而$HOME还是有"/"的:
user@host /export/home/pan$ echo $PWD
/export/home/pan
user@host /export/home/pan$ echo $HOME
/export/home/pan/
这俩变量不相等,所以没有缩写,即使它们在“物理上”是同一个目录。但是这个问题修复了的话,可以让这种特别情况下的提示符依旧缩写,对用户更友好。

没有评论:

发表评论