Відповіді:
Екран постачає деякі змінні середовища (з screen
(1) сторінки сторінки):
STY Alternate socket name.
WINDOW Window number of a window (at creation time).
"Під час створення" означає, що якщо ви перенумеруєте вікно (використовуючи number
команду екрана ), оболонці не буде повідомлено про зміну, і $ WINDOW все ще буде таким самим, як номер першого вікна.
Ви можете використовувати щось на кшталт:
PS1='\u@\h(${STY}:${WINDOW}):\w$ '
screen -xr 2466 -X windows
.
Ctrl-a A
?
screen
був скомпільований за допомогою параметра -Q
(запит), ви можете запустити деякі команди, такі як title
та windows
і мати відображення даних для складання, проте, без зворотного нового рядка.
Я завжди використовую точні назви сеансів на екрані. Тоді я можу додати до PS1 екрану STY env var із викресленим числовим id (спасибі dimo414). Я не прикрашаю його фігурними брекетами або чим-небудь, тому що я не завжди в сесії. Простий приклад:
PS1='\u@\h ${STY#[0-9]*.} \w$ '
Я використовую це:
(`echo ${STY} | sed -e 's/[0-9]*\.//g'`:${WINDOW}:`screen -Q title`)
вилучає номер процесу з ${STY}
включає номер вікна (як зазначено "під час створення")
включає в себе заголовок вікна (як повернуто з screen -Q title
)
примітки:
screen -Q
чекає зворотного натискання клавіші${STY#[0-9]*.}
уникає необхідності проходження труби sed
.