Depois de muita criatividade...

if [ '^[$' = $(cat -vet <<< "$opcao") ] ; then
    echo ESC
fi

-- 
Reinaldo Carvalho


On 5/3/07, Carlos Alberto Teixeira <[EMAIL PROTECTED]> wrote:
> Olá pessoal, tudo bem? Faz tempo que estou na lista, mas esta é a primeira 
> vez que posto uma dúvida.
>
> Eu quero capturar a tecla ESC num laço while. Ou seja, quero sair do laço 
> quando eu digitar ESC. O código que estou usando é este:
>
> opcao=    # inicializa variavel com valor nulo
> while [ ! "$opcao" = \033 ];     # enquanto opcao diferente de "s"
> do
>         read -n 1 opcao;
>         case "$opcao" in
>               [cC]) menucliente;;
>               [mM]) menumerc;;
>               [vV]) menuvendas;;
>               *);;   # nenhuma das opcoes anteriores
>         esac
> done
>
> Mas ele não está funcionando (não consigo sair do laço). Eu sei que se eu 
> colocar aspas duplas ("\033"), aí é q não dá certo mesmo. Alguém pode me 
> ajudar?
>
> PARABÉNS PELA LISTA
>
> Atenciosamente,
> Carlos Alberto Teixeira Magalhães
>
>  __________________________________________________
> Fale com seus amigos  de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>

Responder a