В настоящее время я устанавливаю заголовок PS1, объединяя три переменные в моем .bashrc таким образом:
export TERMSERVER=`who am i | awk '{print $NF}' | tr -d ')''('`
if [ -n "$TERMSERVER" ] ; then
PS1_TITLE='\h ($MACHTYPE) - $SHELL[$SHLVL] <-- $TERMSERVER'
else
PS1_TITLE='\h ($MACHTYPE) - $SHELL[$SHLVL]'
fi
export PS1="$PS1_TITLE\n$PS1_LINE\n$PS1_PROMPT"
Я также открываю несколько PuTTY и запускаю разные экраны GNU в каждом PuTTY, каждый с именем сеанса, например:
screen -T screen -U -S session-1 (in PuTTY #1)
screen -T screen -U -S session-2 (in PuTTY #1)
Мне бы хотелось, чтобы сессия 1 или сессия 2 появлялись в заголовке моего окна PuTTY, но я не могу найти правильную конфигурацию .screenrc для работы с тяжелыми строками . Я также не могу найти способ правильно сопоставить содержимое "/var/run/screen/S-user" с моим текущим сеансом. Я попытался использовать $ {PPID}, но он потерпит неудачу, если в подоболочке.
Выдержка из моего текущего .screenrc:
# Every x seconds, requery window title
backtick 1 600 600 id -un
# The window's title
hardstatus ignore
# *** this is the current window title I use since I can't get what I want.
hardstatus string "%1`@%H"
caption always
caption string "%{= KW}%-w%{= wk}%50>%n %t%{-}%+w%< %=%H %l"
Есть ли способ получить то, что я хочу?