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

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

RES: RES: [shell-script][OT] comando readkey.. equivalente em She ll?


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: RES: [shell-script][OT] comando readkey.. equivalente em She ll?
Date: Tue, 11 Jan 2005 16:28:45 -0300

| De: Adam Victor Nazareth Brandizzi [mailto:address@hidden]
| Enviada em: terça-feira, 11 de janeiro de 2005 15:45
| Para: address@hidden
| Assunto: Re: RES: [shell-script][OT] comando readkey.. equivalente em
| Shell?
| 
| 
| 
| Julio Cezar Neves - DATAPREVRJ wrote:
| > Fala Nicole,
| > acho que shelleiro conhece tb C. O Pascal não é muito 
| difundido em nosso
| > meio, por isso não tenho muita certeza no que vou falar: se 
| não me falha a
| > memória, o readkey do Pascal é idêntico ao getch () no C, 
| não é? Viu, te
| > devolvi o problema;)... E se realmente for, vc deve usar:
| 
| Só para esclarecer: o ReadKey equivale ao getc() do ncurses/C se a 
| variável noecho estiver setada ;)

O getc () não é da lib ncurses, o getch () sim, mas vc me lembrou uma coisa
interessante: o noecho. Então a resposta correta seria: 

read -sn1 var

Há algum tempo comecei a escrever um bacalho para ler tudo que fosse
digitado na tela, mas por problema de falta de tempo para pesquisar, parei.
Ai vai o que escrevi.

Prompt>cat letela.sh
clear
Str=
Char=
IFS='
'

while true
do
    Flg=
    read -sn1 Char
    Asc=$(charascii.sh "$Char")
    case $Asc in
        127) Flg=1    # BackSpace
             [ $(echo ${#Str}) -gt 0 ] &&
             echo -ne '\010 \010'
#            { Str="${Str%?}"
#            tput cup 0 0; tput el
#            echo -ne "$Str"; }
             ;;
         '') Str="$Str"$(echo '\n') # Enter
             ;;
          *) Str="$Str$Char"
    esac
    # tput cup 0 0; tput el
    [ $Flg ] || echo -ne "$Char"
done

Prompt> cat charascii.sh
echo -n "$1" | od -d | sed -n '1s/[^ ]* *//p'

Bye,
Julio
:wq


| 
| > read -n1 var
| 
| 
| -- 
| Adam Victor Nazareth Brandizzi
| Estudante de Ciência da Computação - UnB - Usuário Linux nº 366316
| ICQ: 168537710 | Jabber: address@hidden | Telefone: (61)9639 5258
| "Real programmers don't use Pascal: just the integer ones can do it."
| 
| 
| ---------------------------------------------------------------------
| 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
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 




reply via email to

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