Laskurin näyttäminen ja päivittäminen bashissa

Luulen, että se on jotain tällaista: (Fedora14 / bash)

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

Mutta se ei toimi. Tarkoitus: näin, mutta ilman ”tyhjennä”:

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

Joten laskentakomentosarja, joka ei ”t”, poistaa koko näytön ja antaa +1 -numeron, sen sijaan se poistaa vain rivin, jossa laskenta on, jotta voisi olla esim .: beatifull ”etenemispalkki”.

Vastaa

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

Oletusarvo ei ole .1 stepwidth 1: lle.

echo -n 

estää uusia rivejä.

\r palaa rivin alkuun (ilman uutta riviä – \n) ja parempi kuin aiemmin käytetty ” \ b ”yhden merkin taaksepäin siirtämiseksi, jos sinulla on enemmän kuin yksi numero. Kiitos rozcietrzewiacz.

Vastaus

Etsitkö jotain tällaista?

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *