我想更改gnome-terminal窗口的标题以反映当前目录。 有没有办法做到这一点?一个脚本可能是? “改变终端标题”线程没有多大帮助。 我们使用命令时手动:
gnome-terminal --title=$PWD
它可以工作,但是会创建一个新的终端实例(如预期的那样)。 我希望能够使用
--title=$PWD
使用cd命令。
有没有办法实现这个目标?
答案 0 :(得分:45)
由于gnome-terminal使用与xterm相同的控制命令,因此该页面可能会有所帮助。
Xterm Title for bash and other shells
TL; DR:
将以下内容添加到.bashrc
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
答案 1 :(得分:11)
PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'
将仅显示当前目录作为标题
答案 2 :(得分:3)
我这样做是为了覆盖cd
命令并将pwd
设置为标题:
function title { echo -en "\033]2;$1\007"; }
function cd { dir=$1; if [ -z "$dir" ]; then dir=~; fi; builtin cd "$dir" && title `pwd`; }
cd `pwd`
我刚把它扔进我的~/.bash_aliases
。你可以调整它来做你想做的事。
答案 3 :(得分:1)
我不是专家,但您应该尝试编辑〜/ .bashrc文件。如果我正确理解你的问题,你可以根据我(我使用的是Ubuntu 12.04)更改.bashrc。 “旧”行已注释掉,新版本位于其下方(附加注释)。
case "$TERM" in
xterm*|rxvt*)
# OLD PS1 directive
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
# NEW PS1 directive, shows only current directory name as terminal window name
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\W\a\]$PS1"
;;
*)
;;
esac
结果是我的终端标题等于我当前的目录标题,例如。
cd Documents/projects
我的终端标题为projects
后(如果文件已打开,则终端名称为其名称)
答案 4 :(得分:0)
通过“基本名称”更新的空白问题答案
PROMPT_COMMAND='echo -ne "\033]0;$(basename "$(pwd)")\007"'
Upadate在13年10月23日在1:47回答user2909452