[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Menu em shell
From: |
phribbr |
Subject: |
Menu em shell |
Date: |
Sun, 19 Jun 2005 00:57:12 -0000 |
User-agent: |
eGroups-EW/0.82 |
Boa noite, Pessoal!!!
Estou treinando um pouco de script e com isso
estava tentando fazer um menu em ksh, do estilo dialog,
soh que nesse script eu tenho que ler uma letra e teclar enter.
Serah que nao ter jeito de eu digitar uma letra e ir diretamente
para a movimentacao do menu sem teclar o enter?
Obrigado!!!
Abaixo vai o script
#!/bin/ksh
clear
###################
## FUNCAO MENU ##
###################
menu() {
print "Menu - d=desce s=sobe k=confirma"
print " "
print "+---------------------------+"
print "$pos1| OPCAO 1 |"
print "$pos2| OPCAO 2 |"
print "$pos3| OPCAO 3 |"
print "$pos4| OPCAO 4 |"
print "$pos5| OPCAO 5 |"
print "$pos6| OPCAO 6 |"
print "$pos7| OPCAO 7 |"
print "\033[0m+---------------------------+"
# nao vai aparecer o valor digitado
print "\033[8m"
# A PARTE QUE VAI LER A LETRA DIGITADA, E SOH VAI
# MOVIMENTAR DO ENTER
read tecla
# Voltando para a cor da letra normal
print "\033[0m"
if [[ $tecla = "d" ]] || [[ $tecla = "D" ]]; then
let linha_atual=$linha_atual+1
elif [[ $tecla = "s" ]] || [[ $tecla = "S" ]]; then
let linha_atual=$linha_atual-1
elif [[ $tecla = "k" ]] || [[ $tecla = "K" ]]; then
print " "
print " Opcao escolhida: $opc "
print " "
exit
fi
}
#############
## inicio ##
#############
linha_atual=4
while [ true ]; do
print "\033[0m"
clear
pos1='\033[0m'
pos1='\033[0m'
pos2='\033[0m'
pos3='\033[0m'
pos4='\033[0m'
pos5='\033[0m'
pos6='\033[0m'
pos7='\033[0m'
# De acordo com a linha, a posicao escolhida\
# vai estar em vermelho negrito
case $linha_atual in
4)
pos1='\033[41m'
opc=1
;;
5)
pos2='\033[41m'
opc=2
;;
6)
pos3='\033[41m'
opc=3
;;
7)
pos4='\033[41m'
opc=4
;;
8)
pos5='\033[41m'
opc=5
;;
9)
pos6='\033[41m'
opc=6
;;
10)
pos7='\033[41m'
opc=7
;;
*) # para valores fora de posicao
if [ linha_atual -lt 4 ]; then
pos1='\033[41m'
linha_atual=4
else
pos7='\033[41m'
linha_atual=10
fi
esac
# Chamando a funcao menu
menu
done
- Menu em shell,
phribbr <=