PuTTY:Linux窗口 - 如何在功能期间更新窗口标题?

时间:2017-04-11 09:36:53

标签: linux bash window title putty

我正在通过PuTTY从Windows 10 PC访问Linux机器。我通过设置$ PS1将PuTTY(Bash)窗口标题设置为'$ PWD',如下所示:

PS1=\[\033]0;\w\007\]\[\033[1;33m\][\w]$\[\033[0m\]

这很有效 - 每当我更改shell中的目录时,标题立即更新:

Enter image description here

但是,如果我更改函数中的目录(如下所示),则在函数完成之前标题不会更新:

function func() {
    cd /share/testing_area/runtests ;
    python Script.py;
}

Enter image description here Enter image description here

有没有办法让脚本中的标题更新?

答案:脚本的最终版本:

function func() {
    cd /share/testing_area/runtests
    export PS1="\[\e[1;33m\][\w]$\[\e[0m\]" # Remove title spec from $PS1
    echo -ne "\e]2;$PWD\a"  # Set title to current values (uses $PWD as \w doesn't work for echo
    python Script.py;
    export PS1="\[\033]0;\w\007\]\[\033[1;33m\][\w]$\[\033[0m\]" # Re-add title spec to $PS1
}

1 个答案:

答案 0 :(得分:1)

您正在使用提示中的PuTTY自动标题更改标题。不幸的是,一旦您的提示再次可见,提示通常会生效,这意味着在您的功能或脚本结束之前不会出现。

如果您想动态更改标题,我建议this solution instead