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

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

Re: [shell-script] Script com Funcao


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Script com Funcao
Date: Fri, 26 Sep 2008 10:58:06 -0300

2008/9/26 Diniz Alexandre Daminelli <address@hidden>

> Ola Pessoal,
>
> estou criando um script abaixo:
>
>
> -------------------------------------------------------------------------------
> titulo="Carregando Modulos"
> comando="modprobe ip_tables"
>
> function executar ()
> {
> # exibir titulo
> echo -ne "$1"
> if
>      # rodar comando
>      $2
> then
>      echo -ne "\t\t\t\t\E[32m[ OK ]\n" ; tput sgr0
> else
>      echo -ne "\t\t\t\t\E[31m[ERRO]\n" ; tput sgr0
>      exit
> fi
> }
>
> executar "$titulo" "$comando"
>
> -------------------------------------------------------------------------------
>
> Estou com a seguinte duvida:
> neste script passarei somente um "titulo" para a função "executar", até aí
> tudo bem, mas o numero de "comando" que passarei para a função "executar" é
> variavel, uma hora posso passar somente um comando, mas em noutro momento
> possso passar varios comandos....
>
> aí é  que está minha duvida, como faço para modificar a função "executar"
> do script para que uma hora ela aceite um comando, outra hora aceite 3
> comandos, outra hora aceite 'n ' comandos.
>
> a ideia seria algo do tipo:
>
> titulo1="Carregando Modulos"
> comando1="modprobe ip_tables"
> comando2="modprobe ip_conntrack"
> comando3="modprobe ip_conntrack_ftp"
>
> titulo2="Limpando Regras"
> comando1="iptables -F INPUT"
> comando2="iptables -F OUTPUT"
> comando3="iptables -F FORWARD"
> comando4="iptables -t mangle -F"
>
>
> Abraço
>
> Diniz Alexandre Daminelli.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>
Use o eval e passe a sequencia de comandos separados por ;

Ao invés de $2 use eval $2

A chamada de executar fica sendo

executar titulo "$comando1; $comando2; $comandoN"

-- 
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]