我正在通过PuTTY从Windows 10 PC访问Linux机器。我通过设置$ PS1将PuTTY(Bash)窗口标题设置为'$ PWD',如下所示:
PS1=\[\033]0;\w\007\]\[\033[1;33m\][\w]$\[\033[0m\]
这很有效 - 每当我更改shell中的目录时,标题立即更新:
但是,如果我更改函数中的目录(如下所示),则在函数完成之前标题不会更新:
function func() {
cd /share/testing_area/runtests ;
python Script.py;
}
有没有办法让脚本中的标题更新?
答案:脚本的最终版本:
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
}
答案 0 :(得分:1)
您正在使用提示中的PuTTY自动标题更改标题。不幸的是,一旦您的提示再次可见,提示通常会生效,这意味着在您的功能或脚本结束之前不会出现。
如果您想动态更改标题,我建议this solution instead。