在bash中,要在GNU Screen中显示当前程序的名称,hardstatus行只需要两条配置行。 首先,告诉屏幕提示的结尾通常是什么样的,并在您坐在shell中时为窗口提供默认标题:
shelltitle "$ |bash"
接下来,在通常终止提示的字符之前,将此转义序列放在PS1变量中 '$ '
在这种情况下: \033k\033\\
这种技术很有用。 hardstatus窗口标题更新为当前正在运行的程序的名称,然后在执行完成后立即切换回默认标题。但是,一个主要问题是这个转义字符串本身没有转义,导致命令长于初始行的换行问题。
这很烦人,所以我开始寻找解决方案。事实证明,只需转义前一个转义序列就可以纠正换行: \[\033k\]\[\033\\\]
大!我的hardstatus窗口标题仍然更新为当前正在运行的程序的名称,现在我的较长命令正确地换行到第二行。但是,在我的PS1中使用这个新的转义序列,屏幕将窗口标题更新为我正在键入的实际命令,而不仅仅是当前程序执行后的名称。
我想知道,有没有人得到这个正常工作 - 即换行和正确更新hardstatus窗口标题?
<pre>
。像丹尼斯一样,我不明白你想要达到的目的,你能举个例子吗?
echo test; less somefile
这将是echo
它显示为窗口标题而不是less
。这是你想要的吗?less
显示而不是?