Bash 67 Zeichen
read t u d w
echo -e '\t'|expand -t $d|sed 's/^/8/;s/ /=/g;s/$/B/;'
Aufruf zum Brief der Aufgabe:
uptime | ./cg1570uptime-bar.sh
Viel kürzer
nur 54 Zeichen:
mit dieser variante:
echo -e '\t'|expand -t $3|sed 's/^/8/;s/ /=/g;s/$/B/;'
Aufruf, nicht 100% in Übereinstimmung mit den Regeln:
./cg1570uptime-bar.sh $(uptime)
Ausgabe in beiden Zeiten:
uptime && uptime | ./cg1570uptime-bar.sh
06:29:53 up 16 days, 21:03, 10 users, load average: 1.29, 1.34, 1.23
8================B
Nicht alltägliche Tricks:
read t u d w
liest 06: 29: 53 = t, up = u, 16 = d Rest ... = w
ohne w, alles bis zum Ende würde in $ d gesetzt.
expand wird normalerweise verwendet, um eine Registerkarte in eine Anzahl von Leerzeichen zu übersetzen, und verwendet einen Parameter, wenn Sie 8 nicht mögen.
Das Aufrufen des 3. Parameters mit $ 3 in echo -e '\t'|expand -t $3|sed 's/ /=/g'
ist noch kürzer, erfordert jedoch einen Aufruf, der nicht den Worten der Regeln entspricht.