Pular para o conteúdo

Tempo limite [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02

13. Re: Tempo limite [RESOLVIDO]

Enviado em 19/08/2011 - 15:34h

A opção '-t' do read utiliza como unidade de medida de tempo o segundo.

Mais detalhes:

$ help -m read

Responder tópico

14. Re: Tempo limite [RESOLVIDO]

Enviado em 19/08/2011 - 15:41h

A Resposta do SMarcel solucionou o problema
mas só por questão de entendimento

read -t 3 -p "(S)im ou (N)ao?: " var # Aqui ele atribui a variavel "var" oque foi 'respondido' caso nao exceda o tempo de 3segundos, certo?

resp=${var:-N} # Se nada for informado, então o valor padrão é 'N'. #Oque ele faz exatamente aqui? $(var:-N) ??

echo -e "\nSua resposta foi: $resp" #informa o valor da variavel $resp

15. Clareando as 'ideia'

Enviado em 19/08/2011 - 16:07h

1: read -t 3 -p ... var
-t <tempo> = Específica um tempo limite em segundos antes de retornar status de erro para o read e finalizar sua execução.
-p = Permite ao read a impressão na STDOUT duma string ao invés de tentar lê-la.
var = Variável que irá armazenar o valor lido pelo read

2: resp=${var:-N}
A construção '${var:-N}' pode ser lida como:
${'SE_VALOR_DA_VARIAVEL_NAO_FOR_DEFINIDO':-'ENTAO_ASSUMA_ESTE_COMO_PADRAO'}

Essa dica também poderia ser implementada do modo "mais convencional":

echo -n "(S)im ou (N)ao?: "
read -t 3 resp

if [ -z "$resp" ]; then
resp="N"
fi

echo -e "\nSua resposta foi: $resp"


01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder