Sto usando bash su Mac OS X e Lubuntu. Una delle cose più fastidiose di quando faccio applicazioni per console è quella
clear
aggiungerà un intero (numero-x) di linee alla console. E poi riscrivo lo schermo, che richiede tempo e inefficienza.
Invece sto cercando un modo per far sì che la mia app non crei linee aggiuntive e riscrivi i caratteri che sono attualmente mostrati. (come il comando "top")
Ad esempio, la mia app deve fare in modo che un numero nell'angolo in alto a sinistra della console salga il più velocemente possibile.
Esempio 1: utilizzo chiaro
#!/bin/bash
for i in `seq 1 1000000`
do
echo $i
clear
done
Sarebbe bello, oltre a ciò, "tremolare", a volte si blocca, spreca spazio console ed è generalmente brutto.
Esempio n. 2: utilizzo di backspace
#!/bin/bash
echo -e "\033[8;5;10;t"
clear
echo -e -n "0"
for i in `seq 1 1000000`
do
echo -e -n "\b\b\b\b\b\b\b$i"
done
Questo funziona come un incantesimo, non crea linee extra ed è veloce, ma può essere eseguito solo in piccole finestre.
Esempio n. 3: uso del tipo di formula di riscrittura che fanno "top" e "alsamixer".
Come farei questo esempio?
tput
utilizzo qui: wondershell.blogspot.de/2013/01/cpu-usage-graph-in-console.html