Számláló megjelenítése és frissítése a bash

szerintem valami ilyesmi: (Fedora14 / bash)

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

De ez nem működik. Cél: így, de a “clear” nélkül:

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

Tehát egy számláló szkript, amely nem “törli az egész képernyőt, hogy +1 számot adjon ki csak azt a sort törli, ahol a számlálás található, így lehet például egy beatifull “folyamatjelző”.

Válasz

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

Nem szükséges ..1 az alapértelmezett 1. lépésszélességhez.

echo -n 

megakadályozza az új sorokat.

\r visszatér a sor elejére (új sor nélkül – \n), és jobb, mint a korábban használt ” \ b “egyetlen karakter hátralépéséhez, ha egynél több számjegyű van. Köszönet a rozcietrzewiacz-nak.

Válasz

Valami ilyesmit keres?

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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük