Estou usando o bash no Mac OS X e no Lubuntu. Uma das coisas irritantes sobre quando eu faço aplicativos de console é que
clear
adicionará um todo (número x) de linhas ao console. E então eu reescrevi a tela, o que é demorado e ineficiente.
Em vez disso, estou procurando uma maneira de fazer meu aplicativo não criar linhas extras e reescrever os caracteres exibidos atualmente. (como o comando "top")
Por exemplo, meu aplicativo precisa fazer com que um número no canto superior esquerdo do console suba o mais rápido possível.
Exemplo # 1: usando claro
#!/bin/bash
for i in 'seq 1 1000000'
do
echo $i
clear
done
Isso seria ótimo, além de que "pisca", trava às vezes, desperdiça espaço no console e é geralmente feio.
Exemplo # 2: usando backspace
#!/bin/bash
echo -e "3[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
Este funciona como um encanto, não cria linhas extras e é rápido, mas só pode ser executado em pequenas janelas.
Exemplo # 3: usando o tipo de fórmula de reescrita que "top" e "alsamixer" fazem.
Como eu faria este exemplo?