Acho que você quase conseguiu o que se propôs a fazer, embora com alguns bugs menores e possivelmente alguns problemas de desempenho. Pessoalmente, eu tentaria primeiro resolver os bugs, depois tentaria entender onde o desempenho poderia ser melhorado. No entanto, no que diz respeito à sua taxa de atualização, até programas como o top ou o relógio geralmente são executados com uma atualização a cada 2 ou 1 segundos, e isso geralmente é suficiente. Você não diz qual a taxa que você está tentando alcançar.
Existe uma pergunta Stackexchange semelhante, que tem duas respostas / sugestões,
- Use o programa
dialog
, que é outra coisa para aprender.
- Mostra a criação de funções bash, para limpar, redefinir, escrever texto em uma posição na tela, que é um conjunto semelhante de funções que você provavelmente usaria em
ncurses
, mas tem a vantagem de usar echo (a bash construído em função) para não suportar a sobrecarga de executar /usr/bin/printf
para formatar a saída.
Respondendo aos seus problemas.
-
erros sendo impressos de comandos em segundo plano.
Redirecione, stderr para /dev/null
se você quiser apenas descartá-lo ou para um arquivo para processamento posterior.
-
Colunas de erro, mostre seu código, insira os dados necessários e, em seguida, podemos fazer sugestões. Este bug pode ser um efeito do bug # 1, então resolva primeiro o primeiro e depois responda se ainda existe.
-
Desempenho (edite sua pergunta) e adicione seu código para que possamos ver o que você está fazendo e fazer sugestões.
A outra maneira é usar um interpretador de scripts diferente, há muitos que escolher dependendo de quais você está familiarizado. (awk, python, perl, outras shells, ...). No entanto, se você não usasse ncurses, o princípio seria semelhante às definições da função bash
mostradas na segunda resposta acima.