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