Tempo limite [RESOLVIDO]

13. Re: Tempo limite [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

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


  


14. Re: Tempo limite [RESOLVIDO]

VICTOR FELIPE DOLCE CARDOSO
felipedc

(usa Debian)

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'

Sandro Marcell
SMarcell

(usa Slackware)

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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts