Uptime in Menüleiste einblenden

bei mir unter 10.11/bash 5.0.7 nicht.

und es liegt nicht an bash, 1. weil uptime ein externer command ist und 2. weil apple wirklich jedesmal an irgendwelchen outputs fummeln will, anstatt sich um wesentliches zu kümmern.

zeigt mal beide den output von uptime in code tags.
Ja ist übel. Auch dass sie keine Optionen für's Ausgabeformat von 'uptime' installiert haben ist schwach.

Code:
echo -n "⬆ "; uptime | sed -e 's/^ *//' -Ee 's/ +/ /g' -e 's/,//g' -e 's/ day./d/' | cut -d' ' -f3-4
⬆ 1d10:07 2
Ok, wenn es bereits Tage und Stunden hat scheint es (einigermaßen) zu funktionieren.
 
Gib bitte einfach nur uptime. Roh, so wie es ist.
 
Ist eben verschieden.
22:30 up 1 day, 13:01, 2 users, load averages: 2,75 2,58 2,48
Ohne Tage aber:
22:30 up 13:01, 2 users, load averages: 2,75 2,58 2,48
Ohne Stunden:
22:30 up 1 day, 24 min, 2 users, load averages: 2,75 2,58 2,48
Ohne Minuten:
22:30 up 1 day, 13 std, 2 users, load averages: 2,75 2,58 2,48
Kann es nur ungefähr reproduzieren weil ich nicht alle Variationen gespeichert habe.
 
Code:
#!/bin/bash
#
# uptime-compact.1m.sh

info=$(uptime | sed -Ee 's/^ +//' -e 's/ +/ /g')
echo -n "⬆ "; echo "${info}" | sed -Ee 's/^.+up +//' -e 's/ day./d/' -e 's/ hr./h/' -e 's/ min./m/' -e 's/ sec./s/' -e 's/, [0-9]+ user.*//' -e 's/,//'
echo "---"
echo "${info}"
sollte liefern, z.b.:
⬆ 48d 15:22
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Atalantia
Leider nicht. Sobald es nur "1 user" ist, funktioniert es nicht mehr. Output:
Code:
1d 23:22 1 user, load averages: 2.82 2.37 2.27
...und was geschieht wenn es "2 days" sind oder noch gar keine Tage hat?

PS: Mein Applescript funktioniert immer noch am besten.
 
Zuletzt bearbeitet:
nimm lieber #44, das ist fehlerkorrigiert.
 
  • Gefällt mir
Reaktionen: walfreiheit
Weil man den⬆nicht braucht, man weiss ja was sich so in der Menuliste tummelt und man dort nicht unbegrenzt Platz hat und die Schrift auch nicht elephantös daherkommen muss:
Code:
#!/bin/bash
echo $(uptime | sed -Ee 's/^.+up +//' -e 's/ day./d/' -e 's/ hr./h/' -e 's/ min./m/' -e 's/ sec./s/' -e 's/, [0-9]+ user.*//' -e 's/,//')'|size=12'
Die averages kann man sich auch sparen.
 
nimm lieber #44, das ist fehlerkorrigiert.

Weil man den⬆nicht braucht, man weiss ja was sich so in der Menuliste tummelt und man dort nicht unbegrenzt Platz hat und die Schrift auch nicht elephantös daherkommen muss:
Code:
#!/bin/bash
echo $(uptime | sed -Ee 's/^.+up +//' -e 's/ day./d/' -e 's/ hr./h/' -e 's/ min./m/' -e 's/ sec./s/' -e 's/, [0-9]+ user.*//' -e 's/,//')'|size=12'
Die averages kann man sich auch sparen.
Funktioniert, danke euch! Ihr seid klasse!
 
Weil wir hier schon in einem Bitbar Thread sind, hier noch ein Script dass ein bisschen "whos" und "users" schnuppert:
Code:
#!/bin/bash
echo $(users)'|'size=11'';echo '---';who
 
Zurück
Oben Unten