shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] metodos


From: Julio C. Neves
Subject: Re: [shell-script] metodos
Date: Tue, 23 Feb 2010 14:17:18 -0300

Olá Fabiano,
uma dicazinha que tenho certeza vc irá gostar: a partir do Bash 4.0 já
existem arrays associativos. Desta forma vc pode ter em um só vetor, cujo
índice seja o Item do menu e o valor, o nome do arquivo. Veja:
$ declare -A frutas
$ frutas[banana]=amarela
$ frutas[maçã]=vermelha
$ echo ${frutas[@]}
vermelha amarela
$ echo ${!frutas[@]}
maçã banana

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SP turma de Shell em 29/03 - ligue (11)2125-4747;
- Floripa turma Shell 12/04 http://www.seventreinamentos.com.br;
- DF turma de Shell em 17/04 - ligue (61) 3223-3000;
- Aracaju turma de Shell em 12/05 - address@hidden;
- RJ turma de Shell em 14/06 - ligue (21)2210-6061;
- Turmas fechadas em outras cidades ligue (21)  8112-9988.


Em 23 de fevereiro de 2010 12:27, Fabiano Caixeta Duarte <
address@hidden> escreveu:

>
>
> Em 23 de fevereiro de 2010 11:59, Paulo Antonio da Silva
> <address@hidden <paulo.antonio%40aytycrm.com.br>> escreveu:
>
> > Pessoal,
> >
> > Gostaria de fazer um método que leia um arquivo para montar um case(já
> explico);
> >
> > Tenho um arquivo onde tem o nome do arquivo que deve abrir e o path dele
> separado por ; ex:
> >
> > #Cat editor.txt
> >  usuarios;/temp/user.txt
> >  computadores;/temp/comp.txt
> >
> > Essa função teria que ler o arquivo e montar o case conforme abaixo;
> >
> > ##############################################
> > #                  MENU                      #
> > #--------------------------------------------#
> > #--------------------------------------------#
> >  1 - usuario
> >  2 - computadores
> > 0 - voltar
> > #--------------------------------------------#
> > #--------------------------------------------#
> > ##############################################
> >
> > 1) usuarios ;;
> > 2) computadores ;;
> > 0) editor ;;
> > *) Opcao invalida! ; clear ; echo Opcao invalida!; editor ;;
> >
> > usuarios() {
> > nano /temp/user.txt
> > editor
> > }
> > computadores() {
> > nano /temp/comp.txt
> > editor
> >
> >
> >
> > ##############Abaixo um script que estou tentando fazer, consegui fazer
> um script que gera o resultado que preciso mas quero 1 script que leia esse
> arquivo txt e gere as opções;
> >
> > editor(){
> >
> >        echo "##############################################"
> >        echo "#                  MENU                      #"
> >        echo "#--------------------------------------------#"
> >        echo "#--------------------------------------------#"
> >
> >        i=1
> >        while read menu_list
> >        do
> >                menu=$(echo $menu_list | cut -d ";" -f 1)
> >                echo " $i" - "$menu"
> >                i=$(($i+1))
> >        done < editor.txt
> >
> >        echo " 0 - Voltar                                   "
> >        echo "#--------------------------------------------#"
> >        echo "#--------------------------------------------#"
> >        echo "##############################################"
> >
> >        echo -n "Digite uma opcao:"
> >
> >        read opcao
> >        clear
> >
> >        case $opcao in
> >
> >                i=1
> >        while read menu_list
> >        do
> >                menu=$(echo $menu_list | cut -d ";" -f 1)
> >
> >                $i) $menu ;;
> >
> >                i=$(($i+1))
> >        done < editor.txt
> >
> >        0) editor ;;
> >        *) "Opcao invalida!" ; clear ; echo Opcao invalida!; editor ;;
> >
> >        esac
> >
> >        }
> >                i=1
> >        while read menu_list
> >        do
> >                menu=$(echo $menu_list | cut -d ";" -f 1)
> >                path=$(echo $menu_list | cut -d ";" -f 2)
> >
> >                $menu() {
> >                nano $path
> >                clear
> >                editor
> >                }
> >
> >                i=$(($i+1))
> >        done < editor.txt
> >
> > #Executa metodo Editor
> > editor
> >
> >
>
> Paulo,
>
> Sugiro utilizar arrays, sendo um para itens do menu e outro para os
> nomes dos arquivos, assim menu[0] teria seu arquivo equivalente arq[0]
>
> Veja aí e poste o código funcional para que possamos avançar.
>
> --
> Fabiano Caixeta Duarte
> Especialista em Redes de Computadores
> Linux User #195299
> Ribeirão Preto - SP
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]