File log yang dihasilkan secara dinamis di screenrc ditampilkan dalam hardstatus


8

Saya ingin menggunakan kombinasi tanggal dan waktu saat startup sebagai nama file untuk logfile layar GNU. Di screenrc, jika saya taruh

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

Saya mendapatkan file yang dihasilkan secara dinamis, misalnya

screen_nanna13_06062012_08:03-bash.0

Sekarang saya ingin layar untuk menampilkan nama file ini di bar hardstatus. Saya tidak bisa menggunakan

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

karena penampung diperbarui setiap kali waktu berubah.

Solusi yang bisa saya buat melibatkan kode bash yang dijalankan sebelum layar-startup tetapi itu tidak baik karena layar-jendela terpisah seharusnya mendapatkan logfile dinamis mereka sendiri.

Apakah ada mekanisme substitusi variabel di layar?

Jawaban:


1

Saya menemukan solusi menggunakan backtickperintah layar :

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

menggunakan perintah tanggal UNIX untuk memuat tanggal / waktu saat ini ke dalam variabel% 1`. Satu-satunya masalah adalah, bahwa tanggal tidak berubah dalam nama file log kalau-kalau jendela baru dibuat kemudian selama sesi (tapi bagi saya, itu bahkan fitur karena memungkinkan untuk identifikasi yang lebih baik dari file log yang sesuai).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.