imprimir conteúdo em mesma tela.

1. imprimir conteúdo em mesma tela.

Thiago
bulfaitelo

(usa Linux Mint)

Enviado em 26/10/2016 - 21:04h

Olá amigos, provavelmente é uma duvida simples provavelmente iniciante, mas vamos lá assim mesmo.

Tenho um script de teste o qual e basicamente um looping de repetição o qual imprime na tela informações, o procedimento é echo "conteúdo" clear, en outras palavras eu imprimo e dou um clear na tela e imprimo novamente, crio a impressão de "tela limpa" porem dessa forma gera uma poluição enorme na tela, ao rola o scroll pra cima, agora vamos ao meu problema gostaria de fazer esse looping e manter travado a tela nele sem que tenha todo esse "histórico" no terminal

Alguém pode me ajudar ?

código de exemplo:

#!/bin/bash

if [ -t 0 ]; then stty -echo -icanon -icrnl time 0 min 0; fi
#result=`sensors -A`
count=0
keypress=''
echo -ne "linha 1\nLinha 2\n " > /tmp/temp_script.log
while [ "x$keypress" = "x" ]; do

output="$(cat /tmp/temp_script.log)"
printf "$output"\\b
# echo -en $count
sleep 1
keypress="`cat -v`"
done

if [ -t 0 ]; then stty sane; fi

exit 0


Nesse código eu percorro o looping até que eu tenha um interação, assim ele finaliza, o looping



  


2. Re: imprimir conteúdo em mesma tela.

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/10/2016 - 21:08h

Ao invés de clear use reset.

Eu mesmo só uso reset ao invés de clear.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: imprimir conteúdo em mesma tela.

Thiago
bulfaitelo

(usa Linux Mint)

Enviado em 27/10/2016 - 10:25h

listeiro_037 Muito obrigado pela dica,

Realmente o reset ele limpa a tela, mas dentro de um looping ele acaba fazendo com que o while pare de executar ao chegar nele, (ao menos nesse exemplo sim.)

#!/bin/bash

if [ -t 0 ]; then stty -echo -icanon -icrnl time 0 min 0; fi
#result=`sensors -A`
count=0
keypress=''
echo -ne "linha 1\nLinha 2\n " > /tmp/temp_script.log
while [ "x$keypress" = "x" ]; do
reset
let "count++"
output="$(cat /tmp/temp_script.log)"
printf "$output"\\b
echo -en $count\\n

sleep 2
keypress="`cat -v`"
done

if [ -t 0 ]; then stty sane; fi

exit 0


listeiro_037 escreveu:

Ao invés de clear use reset.

Eu mesmo só uso reset ao invés de clear.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden




bulfaitelo.com.br






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts