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

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

Re: [shell-script] metodos


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] metodos
Date: Tue, 23 Feb 2010 12:27:04 -0300

Em 23 de fevereiro de 2010 11:59, Paulo Antonio da Silva
<address@hidden> 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


reply via email to

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