Obter valor de variável ao apertar Enter [RESOLVIDO]

1. Obter valor de variável ao apertar Enter [RESOLVIDO]

lord beni-aretz
Lord Beni-Aretz

(usa Red Hat)

Enviado em 24/08/2016 - 12:34h

Ola pessoal,

Estou me batendo para fazer a seguinte rotina:

read -t 5 - p "Para continuar aperte ENTER" DESISAO

A intenção é que se a pessoa der enter ou digitar qualquer coisa em 5 segundos, entre na function que eu criei, mas se ela não digitar nada em 5s caia em outra rotina.
O problema é que eu quero que aceite qualquer coisa, inclusive o ENTER. Se eu definir para apertar (S/N) ou (Y/N), funciona.
Mas se a pessoa só der enter não vai :(

Se alguém tiver uma ideia...



  


2. MELHOR RESPOSTA

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 24/08/2016 - 12:37h

read -t 5 -n1 -p "digite enter para continuar: " 







----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------

3. Re: Obter valor de variável ao apertar Enter [RESOLVIDO]

lord beni-aretz
Lord Beni-Aretz

(usa Red Hat)

Enviado em 24/08/2016 - 13:55h

ctw6av escreveu:

read -t 5 -n1 -p "digite enter para continuar: " 


Valeu a ajuda!
Com tua dica consegui resolver o problema.

read -e -t2 -n1 -p "QUALQUER TECLA: "
if [ "$?" == "0" ]; then
echo "Digitou algo ou deu enter"
else
echo "Nao digitou nada"
fi




----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------





4. Re: Obter valor de variável ao apertar Enter [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 24/08/2016 - 15:20h

Lord Beni-Aretz escreveu:
read -t 5 -n1 -p "digite enter para continuar: " 


Valeu a ajuda!
Com tua dica consegui resolver o problema.

read -e -t2 -n1 -p "QUALQUER TECLA: "
if [ "$?" == "0" ]; then
echo "Digitou algo ou deu enter"
else
echo "Nao digitou nada"
fi

Boa tarde, sei que esta "concluído", porém, tem erro . . .
Compare a VAR $REPLY, e não a VAR $?, note que "$?",neste caso, será sempre "0".
read -e -t2 -n1 -p "QUALQUER TECLA: "
if [ $REPLY ]; then
echo "DIGITOU $REPLY"
else
echo "Nao digitou nada"
fi
Ou
read -p "OPÇãO: " -n1;echo; [ $REPLY ] && echo "DIGITOU" || echo "NãO DIGITOU"

Marcelo oliver







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts