Pular para o conteúdo

mensagem atualizada em tela

Responder tópico
  • Denunciar
  • Indicar

1. mensagem atualizada em tela

Enviado em 01/02/2013 - 12:23h

Boa tarde, como fazer em shell script uma mensagem na tela de 1 em 1 segundo, por exemplo, ser atualizada, mas ficando fixa na tela, sem ir correndo pra baixo terminal a fora :-)
Exemplo:

while true
do
date
sleep 0.5
done
Aí cada passada no while corre uma linha pra baixo no terminal, tentei usar o clear, mas ficou muito gambiarrado. Meu objetivo é mostrar essa informação usando o zenity e ficare fechando e abrindo o zenity de meio em meio segundo só pra atualizar a informação fica feio. Tem alguma forma de fazer isso em shell script?

Responder tópico

2. Re: mensagem atualizada em tela

Enviado em 03/02/2013 - 07:04h

[code]while : ; do # ":" é melhor que true porque true é um programa externo
echo -ne "$(date)\r"
sleep 1
done[/done]

3. Re: mensagem atualizada em tela

Enviado em 03/02/2013 - 07:22h

lucasdona escreveu:

Boa tarde, como fazer em shell script uma mensagem na tela de 1 em 1 segundo, por exemplo, ser atualizada, mas ficando fixa na tela, sem ir correndo pra baixo terminal a fora :-)
Exemplo:

while true
do
date
sleep 0.5
done


Aí cada passada no while corre uma linha pra baixo no terminal, tentei usar o clear, mas ficou muito gambiarrado. Meu objetivo é mostrar essa informação usando o zenity e ficare fechando e abrindo o zenity de meio em meio segundo só pra atualizar a informação fica feio. Tem alguma forma de fazer isso em shell script?
Ou use seqquencias de escape pra imprimir sempre numa mesma coordenada de tela com o echo:

echo -ne "\ 033[""$LINHA"";""$COLUNA""H"


4. Re: mensagem atualizada em tela

Enviado em 04/02/2013 - 14:11h

Fiz da seguinte forma
while true
do
INF=$(nc -l 57000)
clear
echo $INF
sleep 2
done
Daí escuto a informação que tá chegando na porta 57000 de 2 em 2 secundos. Até que ficou bom. Mas vou tentar essas opções pra ver como fica :-)

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder