我在我的用户.profile文件中设置以下内容以显示PWD中的最后3个目录,但它仍然只显示主目录。不知道这有什么问题。有人可以帮忙吗?
me='$(whoami)'
function PWD {
pwd | rev| awk -F / '{print $1,$2,$3}'|rev|sed 's/ /\//g'
}
export PS1="$(whoami)@$(hostname -s)$PWD$ "
它会一直显示用户的主目录。
答案 0 :(得分:0)
根据Bash Prompt How To,强调我的:
您也可以直接在提示中使用常规Linux命令的输出....
[21:58:33][giles@nikola:~]$ PS1="[\$(date +%H%M)][\u@\h:\w]\$ "
[2159][giles@nikola:~]$ ls
bin mail
[2200][giles@nikola:~]$
在命令替换的美元符号之前注意反斜杠是很重要的。没有它,外部命令只执行一次:当PS1字符串被读入环境时。对于此提示,这意味着无论使用多长时间,它都会显示相同的时间。反斜杠保护$()的内容不受立即shell解释的影响,因此每次生成提示时都会调用date。
答案 1 :(得分:0)
在此链接-http://ezprompt.net/中,您可以轻松地自定义PS1变量。然后运行生成的命令,即“ export PS1 = ...”