PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash: zeile erneuern



senfmensch
18-04-2004, 16:00
hi
until [ ${Be[1]} != ${Be[0]} ] ; do sleep 1; echo $var3; Be=(`irgendn programm das 2 zahlen liefert`) ; done && echo done

also ich wuerde gerne dass das $var3 bei jeden durchlauf in die console geschrieben wird, aber nicht immer in eine neue zeile. sondern das die eine zeile immer aufgefrischt wird. geht das irgendiwe?
vielen dank schonmal
senfmensch

peschmae
18-04-2004, 16:47
Dein Code ist mir nicht ganz geheuer. Hier ein Beispiel - Countdown von 100 nach 0 im Sekundentakt:


for ((i = 100; i > 0; i--)); do echo -e "$i \033[1A \033[2K"; sleep 1; done


Stichwort: Escape Sequenzen http://www.informatik.uni-halle.de/lehre/pascal/sprache/esc_vt100.html#erase

Die Erste Sequenz \033[1A springt wieder eine Zeile hoch, die zweite löscht die Zeile :)

MfG Peschmä

senfmensch
18-04-2004, 19:51
cool vielen dank :D
wieso is dir der code nicht geheuer? ich will 2 zahlen aus nem array vergleichen? geht das einfacher oder wie?

senfmensch
18-04-2004, 20:07
kann ich irgendwie verhindern, dass der prompt dann auch verschwindet?
edit: mit K anstatt 2K gehts :)

peschmae
18-04-2004, 20:19
Original geschrieben von senfmensch
cool vielen dank :D
wieso is dir der code nicht geheuer? ich will 2 zahlen aus nem array vergleichen? geht das einfacher oder wie?

a) weil er nicht einfach so ging
b) weil ich noch nie wirklich was mit Arrays in der Bash gemacht hab und dem deshalb nicht ansah was es war :D

MfG Peschmä

senfmensch
18-04-2004, 21:57
achso na dann ;)

ThorstenS
24-04-2004, 13:43
Sehr hilfreicher Link peschmae!

Mit den Farben werte ich ab sofort meine eigenen Shellscripte auf.

peschmae
24-04-2004, 14:52
Den Link hab ich von anda_skoa :)

MfG Peschmä