Zobrazení a aktualizace počítadla v bash

Myslím, že je to něco jako toto: (Fedora14 / bash)

#!/bin/bash for i in {0..10..1}; do echo -e "$i""\c" echo -e "\n\r" sleep 1 done 

Ale nefunguje to. Účel: takto, ale bez „clear“:

#!/bin/bash for i in {0..10..1}; do echo -e "$i" sleep 1 clear done 

Počítací skript, který nevymaže celou obrazovku, aby místo toho vydal číslo +1 smaže pouze řádek, kde je počítání, takže by mohl být např. překrásný „indikátor průběhu“ ..

Odpověď

for i in {0..15}; do echo -ne "$i""\r"; sleep 1; done; echo 

Pro krokovou šířku 1, která je výchozí, nepotřebujete ..1.

echo -n 

zabraňuje novým řádkům.

\r se vrací na začátek řádku (bez nového řádku – \n) a lepší než můj dříve používaný “ \ b „pro zpětný krok jednoho znaku, nepřirozený, pokud máte více než jednu číslici. Díky rozcietrzewiacz.

Odpověď

Hledáte něco takového?

for i in {1..10}; do printf "\r%2d" $i sleep 1 done printf "\n" 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *