1

Я давно смотрю на это, но не могу найти причину. Когда я запускаю следующее в cli, оно работает как положено:

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

Теперь, когда я добавлю его в свой tmux.conf, сделаю следующее:

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]'

... он отображает весь вывод времени безотказной работы , как будто он игнорирует то, что делает с ним sed. Я понятия не имею, почему это не работает, как ожидалось. Кто-нибудь может указать мне правильное направление, пожалуйста?

1 ответ1

1

В tmux убежать довольно сложно. Я должен был бороться с этим совсем немного. Похоже, вам нужно избежать обратной косой черты "\" и скобок "()". Вот пример использования только средней загрузки в последнюю минуту в качестве правильного статуса.

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

Остальное должно быть легко. Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .