Bash 67 znaków
read t u d w
echo -e '\t'|expand -t $d|sed 's/^/8/;s/ /=/g;s/$/B/;'
wezwanie do litery zadania:
uptime | ./cg1570uptime-bar.sh
Znacznie krótszy
tylko 54 znaki:
z tą odmianą:
echo -e '\t'|expand -t $3|sed 's/^/8/;s/ /=/g;s/$/B/;'
wywołanie, a nie 100% zgodnie z zasadami:
./cg1570uptime-bar.sh $(uptime)
wyjście w obu czasach:
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
Sztuczki nie codzienne:
read t u d w
odczytuje 06: 29: 53 = t, góra = u, 16 = d odpoczynek ... = w
bez w, wszystko do końca zostanie umieszczone na $ d.
Rozwiń jest zwykle używany do przetłumaczenia tabulatora na liczbę spacji i przyjmuje parametr, jeśli nie lubisz 8.
Chwytanie trzeciego parametru z 3 $ w echo -e '\t'|expand -t $3|sed 's/ /=/g'jest jeszcze krótsze, ale wymaga wywołania, nie pasującego do słów reguł.