neu*_*242 5 osx bash prompt xterm window-title
我想设置Xterm窗口标题在两种状态之间切换:
我可以使用当前路径创建一个 Xterm 窗口标题:
$ export PROMPT_COMMAND='echo -ne "\033]0;`basename ${PWD}`\007"'
Run Code Online (Sandbox Code Playgroud)
我可以通过添加语句来显示当前正在运行的命令:trap.bashrc
$ trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG
Run Code Online (Sandbox Code Playgroud)
但我无法在两者之间自动切换。是否可以?
编辑:@terdon展示了一个在常规 xterm 中工作的解决方案,这很酷!但我没有提到我使用 MacOSX Terminal.app。当没有命令运行时,这表明仍然显示“bash”而不是当前路径。经过一番修改,我想出了如何解决这个问题。
我意识到MacOSX Terminal.app 不读取 .bashrc。在有关如何提取字符串第一个单词的一些帮助和一些修补的帮助下,我通过添加以下内容来调整@terdon的出色答案.bash_profile:
trap 'echo -ne "\033]0;${BASH_COMMAND%% *}\007"' DEBUG
function show_name {
if [[ -n "$BASH_COMMAND" ]]; then
echo -en "\033]0;`basename ${PWD}`\007"
fi
}
export PROMPT_COMMAND='show_name'
Run Code Online (Sandbox Code Playgroud)
瞧!它就像一个魅力。