Visualizzazione e aggiornamento di un contatore in bash

Penso che sia qualcosa del genere: (Fedora14 / bash)

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

Ma non funziona. Scopo: in questo modo, ma senza “clear”:

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

Quindi uno script di conteggio che non cancella lintero schermo per restituire un numero +1, invece elimina solo la riga, dove si trova il conteggio, in modo che possa esserci ad es .: una bella “barra di avanzamento” ..

Risposta

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

Non è necessario ..1 per il passo 1, che è limpostazione predefinita.

echo -n 

impedisce le nuove righe.

\r ritorna allinizio della riga (senza newline – \n) ed è migliore del precedente ” \ b “per tornare indietro di un singolo carattere, non pratico, se hai più di una cifra. Grazie a rozcietrzewiacz.

Risposta

Stai cercando qualcosa di simile?

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *