Похоже, что преимущества изменения прямо сейчас не "ни один вообще", поскольку проект был только что добавлен к ядру, имеет очень мало документации и самодостаточен как являющийся "все еще в ее красильщиках [так] банкомат".
В конечном счете сетевой драйвер связывания пространства пользователя мог обладать некоторыми из тех же преимуществ, которые FUSE (интерфейс файловой системы пространства пользователя) приносит к миру файловых систем - прежде всего, что намного легче разработать и экспериментировать с различными политиками, реализациями протокола, и т.д. Путем упрощения кода в ядре и продвижения сложности в пространство пользователя, можно также закончить с решением, которое более устойчиво в случае отказов, и это допускает более гибкие ответы на ошибки и запросы новых функций и т.д.
Эта презентация (warning:PDF) описывает мотивацию и цели проекта. Прежде всего, они надеются заменять устаревший код связывания, который является чрезмерно увеличенным в размере и сложным с чем-то, что меньше, легче поддержать, и более производительный.
Здесь можно использовать awk
проанализировать вывод uptime
удовлетворять Вашим потребностям как это:
set -g status-right '#[fg=red,bg=default]#(uptime | awk '{print $3}'|sed 's/,//') #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Обычно uptime
возвраты этот тип вывода:
$ uptime
15:30:24 up 1:59, 4 users, load average: 2.39, 2.08, 2.12
При помощи awk
мы можем избавиться от всего около времени работы.
$ uptime | awk '{print $3}'|sed 's/,//'
2:47
Вы могли также использовать /proc/uptime
получить фактические секунды, на которые система возросла и затем использует awk
или perl
преобразовать секунды в дни, часы, минуты, и т.д.
$ awk '{printf("%d:%02d:%02d:%02d",($1/60/60/24),($1/60/60%24),($1/60%60),($1%60))}' /proc/uptime
0:02:49:55
Это показывает секунды времени работы в DD:HH:MM:SS.
Вы могли также показать им использующий Perl:
$ cat /proc/uptime | perl -ne '/(\d*)/ ; printf "%02d:%02d:%02d:%02d\n",int($1/86400),int(($1%86400)/36003600)/60),$1%60'
00:02:50:53
Как @JasonwRyan упомянутый в комментариях, tmux
может быть известно трудным заключить командам в кавычки просто право. Вот то, как Вы могли заключить в кавычки awk
пример, который я обеспечил выше.
set -g status-right '#[fg=red,bg=default]#(uptime | awk \"{print \\$3}\"|sed \"s/,//\") #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Однако, вероятно, легче просто поместить команды в сценарий оболочки и вызов это из tmux
файл конфигурации:
set -g status-right '#[fg=red,bg=default]#(somecommand.bash) #[fg=blue]%a%d-%m-%Y %H:%M:%S'
В качестве альтернативы можно использовать uptime -p
:
#(uptime -p)
Пример вывода:
up 4 hours, 17 minutes
Я знаю, что это не совсем то, что вы хотели, но закройте
uptime| cut -d" " -f4-|cut -d, -f1
. Это - не всегда DD:HH:MM хотя, по крайней мере, в моей системе. – Paulo Almeida 17.07.2013, 23:00awk
поля изменятся... – jasonwryan 17.07.2013, 23:12uptime
использованиеawk
иsed
. Ваш подход работал бы также. Я также адаптировал свой ответ для включения использования решения/proc/uptime
вместо этого. – slm♦ 17.07.2013, 23:23tmux
является известно непрощающим кавычек в строке состояния: Вы видите FAQ при выходе из них или просто звонитеawk
сценарий из внешнего файла... – jasonwryan 18.07.2013, 01:01