Você provavelmente precisa ver o que o echo -ne '\r'
faz.
Aqui está um exemplo:
echo -ne 'Downloading 1%\r'
sleep 1
echo -ne 'Downloading 100%\r'
sleep 1
echo -ne '\n'
Olá pessoal, eu sempre uso
sudo apt-get install <package-name>
para instalar qualquer pacakge e toda vez que eu executar este comando eu observo uma coisa
Toda vez que diz
Downloading some packages (78%)
Esta linha, uma vez impressa, nunca muda de posição , mas continua a atualizar-se com valores percentuais. enquanto outras coisas estão mudando , esta linha permanece constante ! Como eles fazem isso?
Eu sei que esta não é uma pergunta típica do Askubuntu, mas como programador estou muito interessado em descobrir a resposta.
Obrigado de antemão!
Você provavelmente precisa ver o que o echo -ne '\r'
faz.
Aqui está um exemplo:
echo -ne 'Downloading 1%\r'
sleep 1
echo -ne 'Downloading 100%\r'
sleep 1
echo -ne '\n'
O que Jobin disse está correto, eles fazem isso com o retorno de carro "\ r". No entanto, acho que o OP estava procurando por um exemplo de programação do mundo real.
Agora, não estou 100% familiarizado com a sintaxe do C / C ++, mas aqui está um exemplo funcional do Python:
Abra um Terminal e digite "python" para iniciar o script.
Digite a linha de código a seguir para a linha, depois de digitar a última linha, pressione a tecla ENTER duas vezes e observe-a funcionar. Certifique-se após a parte "para eu na faixa (11):", nas próximas linhas você deve pressionar a tecla TAB para recuar. É a formatação adequada do Python. Se você não pressionar a tecla TAB, receberá um erro.
import sys
import time
for i in range(11):
time.sleep(1)
i=i*10
sys.stdout.write("\rDownload is %d%% complete!" %i)
sys.stdout.flush()
Então é assim que o terminal faz o que você perguntou.
Tags bash