[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]
>