Afișarea și actualizarea unui contor în bash

Cred că este cam așa: (Fedora14 / bash)

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

Dar nu funcționează. Scop: așa, dar fără „clear”:

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

Deci, un script de numărare care nu șterge întregul ecran pentru a afișa numărul +1, în schimb șterge doar linia, unde este numărarea, astfel încât ar putea exista ex .: o beatifull „bară de progres” ..

Răspuns

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

Nu aveți nevoie de ..1 pentru lățimea de pas 1 care este implicită.

echo -n 

împiedică liniile noi.

\r se întoarce la începutul liniei (fără linie nouă – \n) și mai bine decât cel folosit anterior ” \ b „pentru retrogradarea unui singur caracter, neobișnuit, dacă aveți mai multe numere de cifre. Mulțumim rozcietrzewiacz.

Răspuns

Căutați așa ceva?

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *