Enviado em 27/03/2012 - 14:11h
#!/bin/bash
#Programa que prepara a tela de menu
TelaPrincipal ()
{
tput setab 5
tput setaf 7
clear
Colunas=`tput cols`
Linhas=`tput lines`
Titulo=Navegando\ entre\ os\ menus
T=`echo ${#Titulo}`
Coluna=$(((Colunas - T) / 2))
tput cup 0 $Coluna
tput bold
#tput smul
echo -e "$Titulo"
tput cup 1 $Coluna
echo -e "------------------------"
MenuColuna=$(((Colunas / 2) / 2))
MenuLinha=$(((Linhas / 2) / 2))
tput sgr0
tput setab 7
tput setaf 0
tput cup $MenuLinha $MenuColuna
echo " "
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
MenuColuna=$((MenuColuna+2))
tput cup $MenuLinha $MenuColuna
PriMenuColuna=$MenuColuna
PriMenuLinha=$MenuLinha
echo "Primeira opcao (Primeira opcao)"
MenuColuna=$((MenuColuna-2))
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
MenuColuna=$((MenuColuna+2))
tput cup $MenuLinha $MenuColuna
echo "Segunda opcao (Primeira opcao)"
SecMenuColuna=$MenuColuna
SecMenuLinha=$MenuLinha
MenuColuna=$((MenuColuna-2))
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
tput sgr0
tput cup $PriMenuLinha $PriMenuColuna
}
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 opcao (Primeira opcao)"
tput sgr0;;
[B) tput cup $SecMenuLinha $SecMenuColuna
tput setab 4
tput setaf 7
echo "Segunda opcao (Primeira opcao)"
tput sgr0;;
[C) break;;
[D) break;;
esac
done
echo -e "\n"
clear
Eu precisaria por exemplo tecla para direita executasse um comando.: exemplo TOP.
e para a esquerda entrasse em um diretório.:exemplo /bin
#Programa que prepara a tela de menu
TelaPrincipal ()
{
tput setab 5
tput setaf 7
clear
Colunas=`tput cols`
Linhas=`tput lines`
Titulo=Navegando\ entre\ os\ menus
T=`echo ${#Titulo}`
Coluna=$(((Colunas - T) / 2))
tput cup 0 $Coluna
tput bold
#tput smul
echo -e "$Titulo"
tput cup 1 $Coluna
echo -e "------------------------"
MenuColuna=$(((Colunas / 2) / 2))
MenuLinha=$(((Linhas / 2) / 2))
tput sgr0
tput setab 7
tput setaf 0
tput cup $MenuLinha $MenuColuna
echo " "
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
MenuColuna=$((MenuColuna+2))
tput cup $MenuLinha $MenuColuna
PriMenuColuna=$MenuColuna
PriMenuLinha=$MenuLinha
echo "Primeira opcao (Primeira opcao)"
MenuColuna=$((MenuColuna-2))
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
MenuColuna=$((MenuColuna+2))
tput cup $MenuLinha $MenuColuna
echo "Segunda opcao (Primeira opcao)"
SecMenuColuna=$MenuColuna
SecMenuLinha=$MenuLinha
MenuColuna=$((MenuColuna-2))
MenuLinha=$((MenuLinha+1))
tput cup $MenuLinha $MenuColuna
echo " "
tput sgr0
tput cup $PriMenuLinha $PriMenuColuna
}
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 opcao (Primeira opcao)"
tput sgr0;;
[B) tput cup $SecMenuLinha $SecMenuColuna
tput setab 4
tput setaf 7
echo "Segunda opcao (Primeira opcao)"
tput sgr0;;
[C) break;;
[D) break;;
esac
done
echo -e "\n"
clear
Eu precisaria por exemplo tecla para direita executasse um comando.: exemplo TOP.
e para a esquerda entrasse em um diretório.:exemplo /bin