Tmux berst status keluaran berbeda dari cli

1

Saya telah melihat ini untuk sementara waktu sekarang, tetapi saya tidak dapat menemukan alasannya. Ketika saya menjalankan yang berikut di cli, itu berfungsi seperti yang diharapkan:

$ uptime | sed "s/.*average: \(.*\), \(.*\), \(.*\)$/\1 \2 \3/g"
0.65 0.54 0.57

Sekarang, ketika saya menambahkannya ke tmux.conf saya, sebagai berikut:

set -g status-right '#[fg=green,bg=default,bright]#(uptime | sed -e "s/.*load average: \(.*\), \(.*\), \(.*\)$/\1 \2 \3/g") #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f1 -d ",") #[fg=white,bg=default]%a %b %d %H:%M:%S %Y #[default]'

... ini menampilkan keseluruhan uptime output, seperti itu mengabaikan apa yang dilakukan sed untuk itu. Saya tidak tahu mengapa ini tidak berfungsi seperti yang diharapkan. Adakah yang bisa mengarahkan saya ke arah yang benar?

Tim Stoop
sumber

Jawaban:

1

Melarikan diri pada tmux cukup sulit. Saya harus bertarung dengannya sedikit. Sepertinya Anda harus lolos dari garis miring terbalik "\" dan kawat gigi "()". Berikut adalah contoh menggunakan hanya rata-rata memuat menit terakhir sebagai status yang tepat.

set -g status-right '#(uptime | sed "s/.*load average:\\s\\+\\\([0-9.]\\+\\\),.*/\\1%/")'

Sisanya harus mudah. Semoga ini membantu.

user391751
sumber