我正在 Mac OSX 终端应用程序 (bash) 中运行屏幕。
这是 screenrc(来自这里):
$ cat ~/.screenrc
termcapinfo xterm* ti@:te@
startup_message off
defutf8 on
shelltitle "$ |what?" # make screen assign window titles automatically
hardstatus alwayslastline
hardstatus string '%{= kw} [ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw?%{= kW}%n*%f %t%?%?%{= kw}%?%+Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %m/%d/%y/ %C %A %{w}]%{w}'
$
正如您所见,我确实有一行将当前进程名称显示为屏幕中的标题:
shelltitle "$ |what?" # make screen assign window titles automatically
但在屏幕中,我只看到“什么?”(默认)而不是进程名称。这表明“$”不起作用。
我遗漏了什么?“$ |something-else”如何工作?
答案1
您的 bash 提示符设置为何(即 PS1 变量)?
.bashrc
在您的或中尝试以下操作.profile
:
export PS1='\[\033k\033\\\]\u@\h:\w\$ '
在你的.screenrc中:
shelltitle "$ |bash:"
这就是我所拥有的,它可以工作。基本上,screen 需要一个神奇的字符串来知道你的提示如何结束,这样它就可以拾取正在运行的命令。你可以改变它,但请参阅此页面上的说明以了解有关其工作原理的更多信息: