[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Configurando o ESC
From: |
xiss_break |
Subject: |
Re: Configurando o ESC |
Date: |
Mon, 14 May 2007 12:50:42 -0000 |
User-agent: |
eGroups-EW/0.82 |
--- Em address@hidden, "Flavio Junior" <billpp@...>
escreveu
>
> A dica não é minha, a algum tempo atras alguem respondeu essa mesma
duvida
> aqui na lista
>
> a ideia é a seguinte:
> -bash-3.1$ read -n1 -s VAR
> <ESC>
> -bash-3.1$ if [ "^[$" == "$(cat -vet <<< $VAR)" ]; then echo APERTOU
ESC;
> else echo BALH BALH BLAH; fi
> APERTOU ESC
> -bash-3.1$
>
> Pra ficar mais claro, quando voce atribui o valor de <ESC> (apertar
a tecla
> ESC) a uma variavel, o caracter q ela pega é ^[$, com o cat -vet a gente
> consegue ver isso e comparar com o literal ^[$ q escrevemos, se
forem iguais
> então ele apertou esc.
>
> Agora pro teu problema é só fazer um entra lido sai lido que resolve.
>
> Sorte,
>
>
> Flavio do Carmo Junior
>
>
> On 5/14/07, xiss_break <xiss_break@...> wrote:
> >
> > Olá pessoal,
> >
> > Estou tentando fazer um programa em shell, sendo este o meu primeiro
> > programa. Esta funcionando de forma perfeita, mas algumas
> > funcionalidades estão me tirando do serio, a principal delas é a
seguinte:
> >
> > Tem uma tela que o usuario tem de informar um numero de codigo, mas
> > gostaria que quando o usuario em uma possivel desistência, pudesse
> > usar o ESC para retornar a tela anterior.
> >
> > Isso é possivel?
> >
> > Grato a todos!
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
Olá Flavio..
Agradeço imensamente sua resposta.
Coloquei de um geito muito tosco no script apenas para testar se
funcionava de fato. Mas agora não estou conseguindo inserir este
controle no contexto do script ja existente. Veja abaixo o que tenho.
echo -n "Informe o IP do cliente: "
read -n1 -s VAR ip
if [ "^[$" == "$(cat -vet <<< $VAR)" ]
then
Avisar
fi
case $ip in
[a-z] | [A-Z] ) echo "Formato ip Invalido!"; sleep 1; DelAviso
;;
[0-9]*\.[0-9]*\.[0-9]*\.[0-9][0-9][0-9] )
x=1
while [ "$x" -le 4 ];
do
Q1=`echo "${ip}" | cut -f"${x}" -d.`;
if [ "$Q1" -gt 255 ];
then
echo "O valor $Q1 não é válido!";
sleep 1
DelAviso
fi;
x=$((x+1));
done;
;;
* ) echo "Formato ip invalido!"; sleep 1; DelAviso
esac
ARQ=/usr/local/squid/etc/aviso.txt
if [ ! -f "$ARQ" ]
then
touch /usr/local/squid/etc/aviso.txt
else
if [ ! -w "$ARQ" ]
then
echo "Arquivo sem Permissão para gravar!"
else
sed -e '$a\' -e "${ip}" "${ARQ}" > /tmp/arq
mv /tmp/arq "${ARQ}"
fi
sleep 1
Avisar
fi
}
Veja que inserir sua sugestao na interacao do read, mas assim ele fica
com alguns bugs...preciso encontrar um geito de inseri-lo nessa
intreção com o restante do script.
Agradeço a todos que ajudarem.
- Configurando o ESC, xiss_break, 2007/05/14
- Re: [shell-script] Configurando o ESC, Flavio Junior, 2007/05/14
- Re: Configurando o ESC,
xiss_break <=
- Re: [shell-script] Re: Configurando o ESC, Flavio Junior, 2007/05/14
- Re: [shell-script] Re: Configurando o ESC, Flavio Junior, 2007/05/14
- Re: Configurando o ESC, xiss_break, 2007/05/14
- Re: [shell-script] Re: Configurando o ESC, Julio C. Neves, 2007/05/14
- Re: Configurando o ESC, xiss_break, 2007/05/14
- Re: [shell-script] Re: Configurando o ESC, Julio C. Neves, 2007/05/15
- Re: Configurando o ESC, xiss_break, 2007/05/15