arquivo de log gerado dinamicamente em screenrc mostrado no hardstatus

8

Eu quero usar uma combinação de data e hora na inicialização como nome de arquivo para o arquivo de log da tela GNU. No screenrc, se eu colocar

logfile '~/log/screen_%H_%m%d%Y_%0c-%t.%n'

Eu recebo um arquivo gerado dinamicamente, por exemplo

screen_nanna13_06062012_08:03-bash.0

Agora quero que a tela exiba este nome de arquivo na barra hardstatus. Não consigo usar

hardstatus string '~/log/screen_%H_%m%d%Y_%0c-%t.%n'

porque os espaços reservados são atualizados sempre que a hora muda.

As soluções que posso criar envolvem um código bash executado antes da inicialização da tela, mas isso não é bom porque as janelas de tela separadas devem ter seu próprio arquivo de log dinâmico.

Existe um mecanismo de substituição de variáveis na tela?

    
por thias 06.06.2012 / 08:17

1 resposta

1

Eu encontrei uma solução usando o comando backtick da tela:

backtick 1 0 0 date +%d%b%Y_%k:%M
logfile '~/log/%H_%1'-%t.%n'
hardstatus string '~/log/%H_%1'-%t.%n'

usa o comando data do UNIX para carregar a data / hora atual na variável% 1 '. O único problema é que a data não muda no nome do arquivo de log no caso de uma nova janela ser criada posteriormente durante a sessão (mas para mim, isso é mesmo um recurso porque permite uma melhor identificação do arquivo de log apropriado). / p>     

por 08.06.2012 / 11:01

Tags