[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] metodos
From: |
Paulo Antonio da Silva |
Subject: |
RES: [shell-script] metodos |
Date: |
Tue, 23 Feb 2010 18:31:41 -0300 |
Agora to no caminho, fazer mais alguns testes aqui e posto o resultado.
Obrigado
Muito legal sua sacada eim, mas ainda... ele indentifica que ${#menu[@]} tem 1
mas só mostra 2, não estou conseguindo ler todas as variaveis;
cat editor.txt
afsdffdf;/tmp/arquivo1.txt
dsfsdfff;/tmp/arquivo2.txt
sh teste.sh
##############################################
# MENU #
#--------------------------------------------#
#--------------------------------------------#
1) afsdffdf
2) dsfsdfff
0 - Voltar
#--------------------------------------------#
#--------------------------------------------#
##############################################
Digite uma opcao:1
2
/tmp/arquivo1.txt
##############################################
# MENU #
#--------------------------------------------#
#--------------------------------------------#
1) afsdffdf
2) dsfsdfff
0 - Voltar
#--------------------------------------------#
#--------------------------------------------#
##############################################
Digite uma opcao:
De: address@hidden [mailto:address@hidden] Em nome de Fabiano Caixeta Duarte
Enviada em: terça-feira, 23 de fevereiro de 2010 16:40
Para: address@hidden
Assunto: Re: [shell-script] metodos
Em 23 de fevereiro de 2010 16:05, Paulo Antonio da Silva
<address@hidden <mailto:paulo.antonio%40aytycrm.com.br> > escreveu:
> Pessoal,
>
> Estou tentando mas quando chega no case in não consigo associar a variável
> montada com o case, podem me dar mais uma força?
>
> editor(){
> echo "##############################################"
> echo "# MENU #"
> echo "#--------------------------------------------#"
> echo "#--------------------------------------------#"
> i=1
> echo "" > /tmp/menu.temp
> while read menu_list
> do
> menu[i]=$(echo $menu_list | cut -d ";" -f 1)
> path[i]=$(echo $menu_list | cut -d ";" -f2)
> echo " $i) ${menu[i]}";
> var[i]=" $i) ${menu[i]} ;nano ${path[i]};;"
> i=$(($i+1))
> done < editor.txt
> echo " 0 - Voltar "
> echo "#--------------------------------------------#"
> echo "#--------------------------------------------#"
> echo "##############################################"
> echo -n "Digite uma opcao:"
> read opcao
> clear
> case $opcao in
> $var[@]
> 0) menu ;;
> *) "Opcao invalida!" ; clear ; echo Opcao invalida!; editor ;;
> esac
>
>
> }
> editor
>
> Obrigado
>
> Paulo
>
Paulo,
O problema aí é de lógica. Veja esta sugestão.
read opcao
if [ $opcao -le ${#menu[@]} ]; then
echo ${path[opcao]}
else
echo Opcao invalida!
editor
fi
Existem também algumas melhorias que podem ser feitas, mas vamos por partes ;)
--
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP
__________ Information from ESET NOD32 Antivirus, version of virus signature
database 4889 (20100223) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] expressão regular, (continued)
- Re: [shell-script] expressão regular, Julio C. Neves, 2010/02/22
- Re: [shell-script] expressão regular, Ernander (Nander), 2010/02/23
- Re: [shell-script] expressão regular, Fabricio Mattos, 2010/02/23
- metodos, Paulo Antonio da Silva, 2010/02/23
- Re: [shell-script] metodos, Fabiano Caixeta Duarte, 2010/02/23
- Re: [shell-script] metodos, Cyolfi Cyro, 2010/02/23
- Re: [shell-script] metodos, Julio C. Neves, 2010/02/23
- RES: [shell-script] metodos, Paulo Antonio da Silva, 2010/02/23
- Re: [shell-script] metodos, Fabiano Caixeta Duarte, 2010/02/23
- RES: [shell-script] metodos, Paulo Antonio da Silva, 2010/02/23
- RES: [shell-script] metodos,
Paulo Antonio da Silva <=
- Re: [shell-script] expressão regular, Julio Cesar Molon, 2010/02/25
- Re: [shell-script] expressão regular, Jeferson Santos, 2010/02/26
- Re: [shell-script] expressão regular, Julio C. Neves, 2010/02/23
- Re: [shell-script] expressão regular, Ernander (Nander), 2010/02/23