[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re: [shell-script] Programa de configuração em Shell Script
From: |
mop |
Subject: |
Re: Re: [shell-script] Programa de configuração em Shell Script |
Date: |
Tue, 26 Feb 2008 15:22:04 -0300 |
Você já tem uma função!
Então vai outra: :)
#----------------------
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"
}
while :;do case `key` in
UP)echo 1
;;DOWN)echo 2
;;ENTER)date;break
esac;done
#-----------------------
Basta marcar o código entre os delimitadores, colar no prompt, e
experimentar. Apenas como registro para eventuais consultantes. :)
No seu script acho que você não quer isto:
[C) break;;
[D) break;;
------------------------------------------------------------------
>From: "Thiago Braga Santana"
>TelaPrincipal ()
>{
>tput setab 4
>tput setaf 7
>clear
>}
>TelaPrincipal
>while read -sn1 a
>do
>TelaPrincipal
>y=
>x=$(echo "$a" | cat -vet)
>[[ "$x" == "^[$"* ]] && read -n2 y
>case $y in
>[A) tput cup $PriMenuLinha $PriMenuColuna
>tput setab 4
>tput setaf 7
>echo "Primeira opção (Primeira opção)"
>tput sgr0;;
>[B) tput cup $SecMenuLinha $SecMenuColuna
>tput setab 4
>tput setaf 7
>echo "Segunda opção (Primeira opção)"
>tput sgr0;;
>[C) break;;
>[D) break;;
>esac
>done
>echo -e "
>"
>clear
>
>Se alguém quiser dar alguma sugestão de como otimizar ele, será muito bem
>vindo. Ainda falta a opção da tecla Enter que ainda não entendi como
>colocar, mais de resto é exatamente o que eu queria fazer.