shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Pressionar tecla?


From: Fábio
Subject: Re: Pressionar tecla?
Date: Fri, 02 Sep 2011 12:48:50 -0000
User-agent: eGroups-EW/0.82

Obrigado Allan! Funcionou... Eu tinha pensado em fazer com o ENTER mesmo.

Bem, mas o problema parece estar no parâmetro -n1 do read. Só não entendi pq...

Abraços,

Fábio


--- Em address@hidden, Allan da Silva Donega <silvadoneg@...> escreveu
>
> Nao sei se te ajuda, mas tenho o seuinte script que funciona no meu
> ambiente.
> 
>     f_chama_menu ( ) {
>     echo " "
>     tput bold
>     echo "POR FAVOR, PRESSIONE ENTER PARA VOLTAR AO MENU PRINCIPAL!"
>     read junk
>     AquiVaiSeuScript.sh
>     echo " "
> }
> 
> echo "ESCOLHA UMA DAS OPÇÕES ACIMA:"
> read op
> 
>     case $op in
>     X|x)
>         clear
>         exit
>         echo " ";;
>     1)
>         echo "\nVOCÊ DIGITOU [$op]\n"
>         AquiVaiSeuScript.sh
>         f_chama_menu
>         echo " ";;
> 
> Em 1 de setembro de 2011 11:29, Max <fabiormedeiros@...> escreveu:
> 
> > **
> >
> >
> > Trazendo o tópico das cinzas...
> >
> > Bem, sou novo em programação Shell e estou tendo problemas o tal do
> > "pressione qq tecla".
> > Tenho um script bem básico de calculadora feita com menu (case). Após
> > exibir o resultado da operação, ela pede para o usuário pressionar qq tecla
> > para voltar ao menu da calculadora.
> >
> > Na primeira vez em ele cai no case, funciona tranquilamente. Na segunda,
> > ele passa reto pelo read e retorna ao menu, sem esperar o usuario pressionar
> > alguma tecla.
> >
> > Segue parte do script:
> >
> > #!/bin/bash
> >
> > clear
> > echo -e "1-Adicao\n2-Subtracao\n"
> > read -p "Entre com a opção desejada: " OPC
> >
> > case $OPC in
> > 1) clear; echo -e "ADICAO: a + b"
> > read -p "Valor de a: " NUM1
> > read -p "Valor de b: " NUM2
> > echo "Resultado: $NUM1 + $NUM2 = $(($NUM1+$NUM2))"
> >
> > # Aqui começa o problema, a primeira vez ele executa corretamente
> > # Na segunda vez que entro na opção 1, ele passa direto pelo read
> > # e retorna ao menu da calculadora executando esse mesmo script,
> > # o calc.sh.
> >
> > echo -e "\nPressione qq tecla para retornar ao menu principal"
> > read -n1
> > sh /home/$USER/calc.sh;;
> >
> > Abraços,
> >
> > Fábio
> >
> > --- Em address@hidden, Gilberto Martins <g.martins@>
> > escreveu
> > >
> > > Assim, ele vai digitar qualquer coisa, mas só continua qdo pressionar
> > > ENTER. Se entendi direito, ele quer continuar ao pressionar qualquer
> > > tecla sem ter que pressionar ENTER depois desta tecla.
> > >
> > > Se vc deseja que qualquer tecla suspenda a interrupção, poderia ser o
> > > seguinte:
> > >
> > > 1 #!/bin/sh
> > > 2 echo -n "Pressione qq tecla para continuar"
> > > 3 read -n 1
> > > 4 clear
> > > 5 echo Ok
> > >
> > > Em Qui, 2004-06-17 às 15:59, catiafm@ escreveu:
> > >
> > > >
> > > >
> > > > Se você quer apenas que ele aguarde uma tecla qualquer, pode fazer
> > inserir
> > > > a linha
> > > >
> > > >
> > > > read
> > > >
> > > >
> > > > Se além disso você quizer que ele exiba mensagem solicitando
> > pressionamento
> > > > da tecla, coloque no script:
> > > >
> > > > echo "Pressione qualquer tecla:"
> > > > read
> > >
> > >
> > >
> > > Gilberto Martins <g . martins (at) pobox . com>
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> >  
> >
> 
> 
> 
> -- 
> Allan Donegá
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]