logfile được tạo động trong screenrc hiển thị trong hardstatus


8

Tôi muốn sử dụng kết hợp ngày và thời gian khi khởi động làm tên tệp cho tệp logfile của màn hình GNU. Trong screenrc, nếu tôi đặt

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

Tôi nhận được một tệp được tạo động, ví dụ:

screen_nanna13_06062012_08:03-bash.0

Bây giờ tôi muốn màn hình hiển thị tên tệp này trong thanh hardstatus. Tôi không thể sử dụng

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

bởi vì các trình giữ chỗ được cập nhật bất cứ khi nào thời gian thay đổi.

Các giải pháp tôi có thể đưa ra liên quan đến mã bash được thực thi trước khi khởi động màn hình nhưng điều đó không tốt vì các cửa sổ màn hình riêng biệt được cho là có tệp logfile động của riêng chúng.

Có một cơ chế thay thế trong màn hình?

Câu trả lời:


1

Tôi tìm thấy một giải pháp bằng cách sử dụng backticklệnh của màn hình :

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

sử dụng lệnh ngày UNIX để tải ngày / giờ hiện tại vào biến% 1`. Vấn đề duy nhất là, ngày không thay đổi trong tên của logfile trong trường hợp một cửa sổ mới được tạo sau trong phiên (nhưng đối với tôi, đó thậm chí là một tính năng vì nó cho phép nhận dạng tốt hơn về logfile thích hợp).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.