我在.screenrc
中有这个,让状态行显示当前运行的命令或当前路径(通过回显标题)。然而,路径只是当前目录,而不是完整路径,例如,如果我在/etc/conf/my/
中,它只显示我的,我如何使它成为/etc/conf/my/
或选择级别数,如conf/my
echo $SHELL
shell -$SHELL
shelltitle "$ |bash:"
hardstatus on
hardstatus alwayslastline
hardstatus string "%c:%s – %-Lw%{=BW}%50>%n%f*%t%{-}%+Lw%< "
defscrollback 50000
完整路径可以通过screen
特定的转义序列插入到窗口标题中,bash可以通过PROMPT_COMMAND
变量来实现。下面是这样一个命令的示例(取自最近的Fedora系统):
PROMPT_COMMAND='printf " 33k%s@%s:%s 33\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
引用screen
手册供参考:
要在创建窗口后更改名称,可以使用title-string转义序列('ESC k NAME ESC ')和'title'命令(C-a - A)。前者可以从应用程序输出到在软件控制下控制窗口的名称,后者会输入名称时提示。