Sta*_*rog 12 command-line bash titlebar
目前,我的 bash 终端/选项卡标题是根据我所在的目录设置的。例如:
bob@bobscomputer:~/i/had/some/great/pie/yesterday
Run Code Online (Sandbox Code Playgroud)
如果我并排打开多个选项卡,这不是很有用。例如,如果我并排打开上述目录的 4 个选项卡,我所看到的只是
bob@bobscomputer:~/i/had...
Run Code Online (Sandbox Code Playgroud)
4次。
我希望我的所有终端标题都自动设置为路径的最后一部分。在上面的例子中,我希望标题是
yesterday
Run Code Online (Sandbox Code Playgroud)
显然,当我更改目录时,标题应该更改。我想在不更改提示的情况下执行此操作,因此提示和终端标题应该不同。
有没有办法做到这一点?
Ste*_*n K 13
为什么要在不修改 PS1 变量的情况下执行此操作?这是正确的做法。
如果你运行以下命令,你会得到你想要的:
export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
这只是采用默认提示:
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
...并替换\u@\h: \w为\W.
您可以使用任何回显正确转义码的命令执行相同的操作:
echo -en "\e]0;${PWD##*/}\a"
...但是你会不断地与 bash 作斗争以阻止它使用 PS1(最好的方法)。
| 归档时间: |
|
| 查看次数: |
7284 次 |
| 最近记录: |