No bash, você pode converter um comando nomeado clear
para limpar todos os comandos da tela.
E echo
você pode imprimir o que quiser na tela.
Nos meus scripts simples, geralmente tenho a necessidade de imprimir uma porcentagem do que está sendo feito com meus comandos.
Então eu poderia fazer algo como ..
echo "89%"
echo "90%"
echo "91%"
e assim por diante..
o que eu odeio é ter a tela cheia de atualizações percentuais ...
89%
90%
91%
...
o que eu gostaria de saber é se existe uma combinação especial de caracteres (por exemplo, "\ 033 [01; 31m") que pode ser repetida com bash ou php echo e informa ao console "remova o último caractere impresso anterior .."
fazendo isso usando algo como: (exemplo php)
echo str_repeat($neg_character, strlen($last_percentage_update_string));
echo $new_percentage_update_string;
Gostaria que a nova string fosse impressa na posição exata da anterior sem ter a tela cheia de linhas
Caso contrário, procuro uma abordagem para fazer o mesmo de outras maneiras, sempre usando scripts bash e php (por favor, inclua exemplos de trabalho reais pelo menos com um console debian9 e php7)
tput cub 3
para mover o cu rsor b ACK por 3 colunas, sem ter de codificar a sequência (etput el
para e rase o l ine).\e
não é portátil 2. nem é\e[0E
ech
para apagar. E retroceder em três posições tem uma pegadinha e duas possíveis otimizações que os programas em tela cheia tendem a usar. Mas otimizações e apagamento são um exagero para coisas simples de terminal somente de linha de corrente, quando se segue esse conselho para usar um especificador de formato de largura fixa. A100
propósito, não esqueça que são 3 dígitos. (-: