Hier können Sie awk
die Ausgabe von so analysieren uptime
, dass sie Ihren Anforderungen entspricht:
set -g status-right '#[fg=red,bg=default]#(uptime | awk '{print $3}'|sed 's/,//') #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Gibt normalerweise uptime
diese Art von Ausgabe zurück:
$ uptime
15:30:24 up 1:59, 4 users, load average: 2.39, 2.08, 2.12
Durch die Verwendung können awk
wir alles rund um die Betriebszeit loswerden.
$ uptime | awk '{print $3}'|sed 's/,//'
2:47
Sie können auch verwenden /proc/uptime
, um die tatsächlichen Sekunden abzurufen, die das System in Betrieb war, und dann die Sekunden verwenden awk
oder perl
um sie in Tage, Stunden, Minuten usw. umzuwandeln.
$ 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
Dies zeigt die Sekunden der Verfügbarkeit in DD: HH: MM: SS.
Sie können sie auch mit Perl anzeigen:
$ 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
tmux zitieren?
Wie @JasonwRyan in den Kommentaren erwähnt hat, tmux
kann es notorisch schwierig sein, die Befehle genau richtig zu zitieren. Hier erfahren Sie, wie Sie das oben angegebene awk
Beispiel zitieren können .
set -g status-right '#[fg=red,bg=default]#(uptime | awk \"{print \\$3}\"|sed \"s/,//\") #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Es ist jedoch wahrscheinlich einfacher, die Befehle einfach in ein Shell-Skript tmux
einzufügen und dies aus der Konfigurationsdatei heraus aufzurufen :
set -g status-right '#[fg=red,bg=default]#(somecommand.bash) #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Verweise
uptime| cut -d" " -f4-|cut -d, -f1
. Es ist jedoch nicht immer DD: HH: MM, zumindest auf meinem System.awk
ändern sich die Felder ...uptime
Verwendung vonawk
und befasstsed
. Ihr Ansatz würde auch funktionieren. Ich habe meine Antwort auch so angepasst, dass sie/proc/uptime
stattdessen eine Lösung enthält .tmux
ist notorisch unversöhnlich von Anführungszeichen in der Statusleiste: Sie können die FAQ auf der Flucht sehen oder einfach dasawk
Skript aus einer externen DateiEine Alternative ist zu verwenden
uptime -p
:Beispielausgabe:
Ich weiß, das ist nicht genau das, was du wolltest, aber nah dran
quelle