我想用当前正在执行的命令更新tmux窗格标题,或者如果没有命令,则更新当前shell的名称。我想出了到目前为止,这是在.bashrc中:如何在tmux窗格中显示当前命令标题
case ${TERM} in
screen*)
PROMPT_COMMAND='printf "\033]2;bash\033\\"'
set -o functrace
trap 'echo -ne "\033]2;$BASH_COMMAND\033\\"' DEBUG
;;
...
esac
的方法,从这里衍生: http://www.davidpashley.com/articles/xterm-titles-with-bash.html
这部分作品 - 它需要什么,但会导致其他问题:在一个新的壳第一提示带有前缀
"'"' DEBUG"
并用
"
所有剩余指令
它还可以防止命令行给出失败某些命令,例如:
$ ps -h $$
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
所以,虽然上面并允许显示在TMUX窗格标题电流指令,这是行不通的。有没有其他人有更好的解决办法,或者有什么不对的建议?
谢谢。
你会介意给出一个例子,说明输入一些命令后你想要输出什么? – Rubens
基本上无论是在(bash)tmux窗格中运行应该在窗格标题中体现。因此,如果我输入了“vim〜/ .bashrc”,那么面板标题将会显示“”vim〜/ .bashrc“。当该命令结束并且bash提示符返回时,面板标题将显示为”bash“。上面所做的是,它只是在我的问题中试图描述一些其他不良的副作用。 – starfry
我不知道您使用的是什么版本的'tmux',但是我的窗格标题没有变化我使用'tmux 1.6' – Rubens