Atualizar tela do terminal [RESOLVIDO]

1. Atualizar tela do terminal [RESOLVIDO]

Lucas
lmamann

(usa Arch Linux)

Enviado em 27/05/2012 - 20:14h

Olá a todos,

gostaria de saber se tem algum comando que permita atualizar a tela do terminal.
A atualização de que falo é por exemplo:

uma barra de progresso que mostre primeiro um ->, depois sem apagar nada nem pular linha mostre -->, depois ---> e assim por diante.

Não sei se ficou claro, mas não falo do comando "clear", este comando 'joga para cima' as linhas anteriores e se você rolar a tela do terminal para cima você pode ver as linhas antigas, então
queria seria um comando ou uma forma de escrever na tela sem pular linha nem apagar a tela inteira.


  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 28/05/2012 - 00:25h

Ai vai o que desejas:
http://www.vivaolinux.com.br/script/Barra-de-progresso-1

3. Re: Atualizar tela do terminal [RESOLVIDO]

Bruno
BrunoTecnico

(usa Sabayon)

Enviado em 27/05/2012 - 20:31h

Meu caro, terá de ser um pouco mais especifico.

# Está meio confusa sua pergunta.

# Vc fala de uma "barra de progresso" e cita o comando "clear",
ficou bem distante essa comparação.


4. Re: Atualizar tela do terminal [RESOLVIDO]

Lucas
lmamann

(usa Arch Linux)

Enviado em 27/05/2012 - 20:37h

Eu queria atualizar a tela sem limpá-la,
assim como em uma barra de progresso.

eu não queria fazer assim:
echo "->"
clear
echo "-->"
clear
...

eu queria saber se há uma forma de fazer com que um novo valor apareça em cima do anterior, por exemplo:
escrevo na tela: ->
e depois no lugar do -> e eu escreva -->

ou seja eu sobreponho o que já está escrito


5. Re: Atualizar tela do terminal [RESOLVIDO]

Bruno
BrunoTecnico

(usa Sabayon)

Enviado em 27/05/2012 - 21:08h

Script?
-----------
Acho que sei o que vc quer, eu também queria sobrepor sem usar o "clear".

# Mas acho que não há como.

Eu queria assim por exemplo:

Concluindo a operação
[###-----] 30%
[#####---] 55%
[#######-] 90%
Porém essas três barras tinham de ser em uma única linha.


# O jeito é repetir todo o texto:

Concluindo a operação
[###-----] 30%
clear
Concluindo a operação
[#####---] 55%
clear
Concluindo a operação
[#######-] 90%



6. Re: Atualizar tela do terminal [RESOLVIDO]

Lucas
lmamann

(usa Arch Linux)

Enviado em 27/05/2012 - 21:38h

sim, era exatamente isso,

mas acho que há sim como, pois já vi programas (não lembro quais)
em que mostrava no terminal o progresso de um download desta forma que falei


7. Re: Atualizar tela do terminal [RESOLVIDO]

Lucas
lmamann

(usa Arch Linux)

Enviado em 28/05/2012 - 07:02h

era exatamente isso,
muito obrigado rai3mb


8. Re: Atualizar tela do terminal [RESOLVIDO]

Lucas
lmamann

(usa Arch Linux)

Enviado em 28/05/2012 - 08:00h

Ah!

e só para deixar mais claro a quem também tiver esta dúvida,
o comando que eu queria, que faz "atualizar" a tela é este:

$echo -en "\ 033[colG\ 033[linA"

em que col é o número da coluna em que deseja voltar e lin o número da linha.

Então, para fazer o exemplo que eu queria acima fica:

$echo "->"
-> (e esta seria a barra de progresso)
$echo -en "\ 033[1G\ 033[2A-->\n"

OBS.: onde tem \ 0 não é separado é junto, mas não posso escrever junto aqui,
porque senão aparece: {TTEXTO}










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts