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

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

Re: [shell-script] recuperar historico num READ


From: moysespr
Subject: Re: [shell-script] recuperar historico num READ
Date: Mon, 12 Sep 2005 12:36:07 -0700 (PDT)

Pelo que sei as teclas de navegação geram 3 bytes. Não vejo como você possa
tratar isso facilmente em um read do shell. A única idéia que me ocorre é
tratar isso com um loop no script e o read lendo tecla a tecla. Abaixo uma
idéia grosseira, para análise, tratando só a tecla citada. Deve funcionar do
bash. Todas as reações à entrada de dados deverão ser dadas por você no loop.

Boa Sorte!

#!/bin/bash
up=$'\e[A' # uparrow \x1b \x5b \x41
tc=;co=
while read -s -r -n 1 t;do
 if [ "$t" == $'\x1b' ]||[ "$co" ];then
  co="$co$t"
  if [ ${#co} -eq 3 ];then
   if [ "$co" == "$up" ];then
    echo tecla acima: linha ant.=$linha1, carreg.var.linha com linha1?
   fi
   co=
  fi
 else
  if [ "$t" ];then
   linha="$linha$t"
   echo -ne "\r$linha"
  else #tecla enter
   echo -e "\nlinha=$linha"
   linha1=$linha
   linha=
  fi
 fi
done




--- rcbarioni <address@hidden> wrote:

> Colegas,
> 
> tenho um READ no meio de um script qualquer...
> 
> echo "digite um texto qualquer ou tecle 'fim' para sair"
> read linha
> while [ "$linha" != "fim" ]
> do
>    echo "ok, parceiro, voce digitou $linha"
>    echo "digite outro texto qualquer ou tecle 'fim' para sair"
>    read linha
> done
> 
> 
> ... e agora gostaria que a tecla "UP" (seta pra cima), mostre a ultima 
> linha digitada. Como fazer isso no READ, já que a linha digitada não 
> está no bash.history?
> 
> 
> 
> 
> 



        
                
______________________________________________________ 
Yahoo! for Good 
Donate to the Hurricane Katrina relief effort. 
http://store.yahoo.com/redcross-donate3/ 



reply via email to

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