Como o texto substituível é mostrado em um terminal? [duplicado]

1

Por exemplo, depois de fazer apt-get update , mostra Reading package lists... 82% com a porcentagem de mudança na mesma linha.

Como isso é conseguido? É possível usá-lo em um script bash?

    
por user80551 13.10.2013 / 20:45

2 respostas

1

se você ainda não tiver saído da nova linha (e: g: usado -n no comando echo), o comando:

echo -e "\r3["

fará o truque.

    
por 13.10.2013 / 21:33
2

Os terminais entendem as seqüências de escape para mover o cursor, alterar a cor do texto e outras ações. Essas seqüências de escape são registradas no termcap e terminfo bancos de dados como eles diferem entre os tipos de terminal (embora a maioria dos tipos de terminal hoje em dia implementem as mesmas seqüências de escape).

Você pode gravar a saída completa de um aplicativo com o utilitário script .

script -c 'apt-get update' apt-get.script

apt-get mantém as coisas simples: ele usa apenas o caractere de controle retorno de carro (conhecido como CR, Ctrl + M , \r ,…) que move o cursor para o início da linha atual.

    
por 14.10.2013 / 01:47