file di log generato dinamicamente in screenrc mostrato in hardstatus


8

Voglio usare una combinazione di data e ora all'avvio come nome file per il file di registro dello schermo GNU. In screenrc, se lo metto

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

Ricevo un file generato dinamicamente, ad es

screen_nanna13_06062012_08:03-bash.0

Ora voglio che lo schermo mostri questo nome file nella barra dell'hardstatus. Non posso usare

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

perché i segnaposto vengono aggiornati ogni volta che il tempo cambia.

Le soluzioni che posso trovare riguardano un codice bash eseguito prima dell'avvio dello schermo, ma non va bene perché le finestre separate dello schermo dovrebbero ottenere il proprio file di registro dinamico.

Esiste un meccanismo di sostituzione delle variabili sullo schermo?

Risposte:


1

Ho trovato una soluzione usando il backtickcomando screen :

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

utilizza il comando data UNIX per caricare la data / ora corrente nella variabile% 1`. L'unico problema è che la data non cambia nel nome del file di registro nel caso in cui una nuova finestra venga creata in un secondo momento durante la sessione (ma per me, questa è anche una funzione perché consente una migliore identificazione del file di registro appropriato).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.