Я использовал команду gnu-screen 'logfile' для записи истории моих сеансов при внесении производственных изменений. Мне нравится регистрировать каждое изменение в другом каталоге; это означает, что всякий раз, когда я начинаю новое изменение, мне нужно выполнить :logfile /path/to/change/directory/%t.log
команду снова. Мне было интересно, есть ли способ указать строку файла журнала при вызове экрана?
Цель здесь - написать сценарий оболочки, например startchange [changenumber]
который затем переключится на правильный каталог изменений и экран настройки для регистрации любых сеансов в этом каталоге.
Единственное решение, которое я могу придумать на данный момент, - это иметь сценарий, который создает копию моего глобального .screenrc, заменяет строку файла журнала и вызывает экран с параметром командной строки '-c'. (Экран, похоже, не поддерживает чтение нескольких файлов конфигурации.) Это кажется довольно тяжелым решением довольно простой проблемы. Есть ли у кого-нибудь альтернативные подходы?
screen
помещает его вывод в текущий каталог, поэтому не могли бы вы вместо этого использовать сценарий оболочки, например:
#!/bin/sh
X="`pwd`"
mkdir -p /path/to/logs/change-$1
cd /path/to/logs/change-$1
screen -L
cd $X
Не уверены, есть ли здесь какие-либо проблемы, но может подсказать вам другой путь?