[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Programa de configuração em Shell Script
From: |
mop |
Subject: |
Re: Programa de configuração em Shell Script |
Date: |
Thu, 28 Feb 2008 01:22:20 -0300 |
O trecho com ${#REPLY} está correto. Isso retorna o tamanho da string em
bytes.
Fazendo um exemplo na linha de comando:
PS1='prompt$ '
prompt$ x=asdfg
prompt$ echo ${#x}
5
prompt$
Acabei de pegar a função daqui via browser:
http://br.groups.yahoo.com/group/shell-script/message/25485?l=1
Colei na linha de comando e aconteceu isto ao pressionar seta acima, seta
abaixo e enter:
prompt$ key(){
> TIMEOUT='-t30'
> UP=$'\x1b\x5b\x41'
> DOWN=$'\x1b\x5b\x42'
>
> KEY=;STRING=
> while [ ! $KEY ]&&read -s -r -n1 $TIMEOUT;do
> [ ${#REPLY} -eq 0 ]&&KEY=ENTER
> STRING="$STRING$REPLY"
> [ "${STRING}" != "${STRING/$UP/}" ]&&KEY=UP
> [ "${STRING}" != "${STRING/$DOWN/}" ]&&KEY=DOWN
> done
> echo "$KEY"
> }
prompt$
prompt$ while :;do case `key` in
> UP)echo 1
> ;;DOWN)echo 2
> ;;ENTER)date;break
> esac;done
1
2
Thu Feb 28 01:05:54 hrN 2008
prompt$
Exatamente como previsto.
Esta informação não deve ser importante, mas coletei também a versão do
meu shell;
prompt$ $0 --version
GNU bash, version 3.2.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
prompt$
Veja parte da saída do comando set onde aparece a função carregada:
prompt$ set|tail -n 20
XTERM_SHELL=/bin/bash
XTERM_VERSION='X.Org 6.8.99.903(227)'
_=set
file=/etc/ETC/profile.d/t1lib.sh
x=asdfg
key ()
{
TIME';T='-t30';
DOWN='';
KEY=;
STRING=;
while [ ! $KEY ] && read -s -r -n1 $TIMEOUT; do
[ ${#REPLY} -eq 0 ] && KEY=ENTER;
STRING="$STRING$REPLY";
[ "${STRING}" != "${STRING/$UP/}" ] && KEY=UP;
[ "${STRING}" != "${STRING/$DOWN/}" ] && KEY=DOWN;
done;
echo "$KEY"
}
prompt$
Digitando na linha de comando e pressionando as 3 teclas:
prompt$ key
UP
prompt$ key
DOWN
prompt$ key
ENTER
prompt$
Não tenho idéia qual seja o problema.
------------------------------------------------------------------
>Esta linea é correta? "[ ${#REPLY} -eq 0 ]&&KEY=ENTER", ou lhe sobra
>isto "#"
- Re: [shell-script] Programa de configuração em Shell Script, (continued)
- Re: [shell-script] Programa de configuração em Shell Script, Tiago Barcellos Peczenyj, 2008/02/25
- Re: [shell-script] Programa de configuração em Shell Script, Ivan lopes, 2008/02/25
- Re: [shell-script] Programa de configuração em Shell Script, Thiago Braga Santana, 2008/02/26
- Re: [shell-script] Programa de configuração em Shell Script, Julio C. Neves, 2008/02/26
- Re: [shell-script] Programa de configuração em Shell Script, Thiago Braga Santana, 2008/02/26
- Obter buffer de saída Expect, Islenho de Almeida, 2008/02/26
- Re: [shell-script] Obter buffer de saída Expect, Tiago Barcellos Peczenyj, 2008/02/26
- RES: [shell-script] Obter buffer de saída Expect, Islenho de Almeida, 2008/02/27
- Re: [shell-script] Programa de configuração em Shell Script, Thiago Braga Santana, 2008/02/26
RE: Programa de configuração em Shell Script, MrBiTS, 2008/02/25
Re: Programa de configuração em Shell Script,
mop <=
Re: Re: Programa de configuração em Shell Script, mop, 2008/02/28
Re: Re: Re: Programa de configuração em Shell Script, mop, 2008/02/29