shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Programa de configuração em Shell Script (Resolvi


From: Thiago Braga Santana
Subject: Re: [shell-script] Re: Programa de configuração em Shell Script (Resolvido)
Date: Thu, 28 Feb 2008 09:17:01 -0300

Estou grato a todos que colaboraram de forma direta ou indireta para o
esclarecimento das minhas dúvidas.

Espero ajudar outros membros desta lista, assim como vocês me ajudaram.

Abraço a todos.

Thiago Santana

Em 28/02/08, mop <address@hidden> escreveu:
>
> 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 "#"
>
>
>
>
> ---------------------------------------------------------------------
>
> 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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>     address@hidden
>
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]