[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/