我知道他们一直在问这个问题,而且我的答案也非常完美,但有一件事我不明白,那就是为什么这是不同的。
#This will show the full path (/usr/bin)
PROMPT_COMMAND='echo -ne "\033]0;${PWD}\007"'
#This will set to the directory name only (bin)
PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"'
我在这里遇到的问题是我想使用第二个,但是当我打开一个新的水龙头时,它将返回到默认工作目录,而如果我打开另一个我想要的水龙头,第一个将保留相同的工作目录。
答案1
奇怪。也许这与模式扩展在 bash 的处理顺序中发生的时间有关。
类似“PROMPT_COMMAND='BASED=${PWD##*/} echo -ne "\033]0;$BASED\007"”之类的命令可能会起到作用。
编辑:这没用吗?也许这个可以
set_prompt () {
BASE_PATH="${PWD##*/}"
echo -ne "\033]0;$BASE_PATH\007"
}
PROMPT_COMMAND=set_prompt