UNIX является сильная ОС, основывайтесь на саунд-дизайне, который оказывался успешным больше 40 лет (это - почти вечность в информатике). Центральная технология основана на языке C и несметном числе небольших программ: команды UNIX. Базовая философия была получена в итоге McIlroy:
Запишите программы, которые делают одну вещь и делают это хорошо. Запишите программы для сотрудничества. Запишите программы для обработки текстовых потоков, потому что это - универсальный интерфейс.
Больше на UNIX философия может быть найдена в E.S.Raymond "Искусство Программирования UNIX".
Экран предоставляет некоторые переменные среды (от screen
(1) страница справочника):
STY Alternate socket name.
WINDOW Window number of a window (at creation time).
"Во время создания" означает это, если Вы перенумеровываете окно (использующий экран number
команда), оболочка не будет сказана об изменении, и $WINDOW все еще совпадет с первым числом окна.
Вы могли использовать что-то как:
PS1='\u@\h(${STY}:${WINDOW}):\w$ '
Я использую это:
(`echo ${STY} | sed -e 's/[0-9]*\.//g'`:${WINDOW}:`screen -Q title`)
удаляет номер процесса из $ {STY}
включает номер окна (как упоминалось «во время создания»)
включает заголовок окна (как было возвращено из screen -Q title
)
примечания:
screen -Q
ждет ответного нажатия клавиши Я всегда использую точные названия сеансов экрана. Затем я могу добавить STY env var экрана с удаленным числовым идентификатором (благодаря dimo414 )на PS1. Я не украшаю его фигурными скобками или чем-то еще, потому что я не всегда в сеансе. Простой пример:
PS1='\u@\h ${STY#[0-9]*.} \w$ '
screen -xr 2466 -X windows
. – Arcege 19.09.2011, 04:26Ctrl-a A
? – Thalis K. 05.07.2015, 15:44screen
был скомпилирован с-Q
(запрос) опция, затем можно выполнить некоторые команды, такой какtitle
иwindows
и имейте дисплей данных к stdout, однако, без запаздывающей новой строки. – Arcege 06.07.2015, 20:38