将提示符(PS1)设置成当前的路径,但不包括 $HOME
比如:
$HOME=/usr/wuhq
$PWD=/usr/wuhq/src
我想让提示符为:
src>
如果$PWD=/opt/java
我想让提示符为:
/opt/java>
以前看到过相关贴子,但找不着了
先谢过大虾!
In Korn Shell ,use:
PS1='${PWD##${HOME}}/>'
尊敬的斑竹:
好像不行唉!
而且有明显的错误嘛!
我改成
PS1='${PWD}##${HOME}/>'
也不行啊
输出:
/usr/users/weblogic/weblogic##/usr/users/weblogic/>
我用的是
Digital UNIX(好像是)
尊敬的taige:
是被论坛自动替换了,不是笔误。
应该这样写,偶试过了:(注意,偶用的是全角字符)
PS1='${PWD##${HOME}}/>'
斑竹多谢了
能否再进一步
如我提的第一个要求
$HOME=/usr/wuhq
$PWD=/usr/wuhq/src
我想让提示符为:
src>
而现在的情况下会显示为:
/src>
即我想把"/"去掉,否则容易引起误会
yes!
i have done!
PS1='${PWD##"${HOME}/"}>'
不知道斑竹是否就这个问题还有兴趣
现在我遇到的情况是这样:
$HOME=/a/very/long/home/path
我用上面的方法:
PS1='${PWD##${HOME}/}>'
则我在$HOME目录时提示符为:
/a/very/long/home/path>
进入子目录src,提示符为:
src>
我希望在$HOME目录时提示符为:
>
该怎么办?
你把两个}中间的/去掉便可以啊。
那样的话就出现了我先前说的那种情况
在子目录src时,提示符:
/src>
我不想要这个"/"
我希望第一个字符不是"/"
除非不在$HOME及其子目录中
二者只能择其一。
你的要求用${...##...}形式不行。
OK!
我放弃