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: Diniz Alexandre Daminelli
Subject: Re: [shell-script] Script com Funcao
Date: Fri, 26 Sep 2008 11:32:09 -0300

Olá Fabiano... 

muito obrigado pela ajuda, o comando eval realmente funciona.. só tem um porem, 
há momentos que tenho que passar varios comando bem grandes, por exemplo :


TITULO: 
"Bloqueio Layer7"

COMANDOS
$iptables -A FORWARD -m layer7 --l7proto edonkey -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto edonkey -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto fasttrack -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto fasttrack -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto directconnect -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto directconnect -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto bittorrent -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto bittorrent -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto napster -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto napster -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto soulseek -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto soulseek -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto gnutella -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto gnutella -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto msnmessenger -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto msnmessenger -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto imesh -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto imesh -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto ares -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto ares -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto counterstrike-source -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto counterstrike-source -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto doom3 -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto doom3 -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto dayofdefeat-source -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto dayofdefeat-source -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto halflife2-deathmatch -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto halflife2-deathmatch -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto quake-halflife -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto quake-halflife -s any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto quake1 -d any/0 -j DROP
$iptables -A FORWARD -m layer7 --l7proto quake1 -s any/0 -j DROP


Imagina colocar tudo isso aí em uma unica linha, ficaria dificil de 
interpretar, tem agluma forma de organizar melhor?
vc ou agluem tem mais alguma ideia.

Valeu pela ajuda.

Abraço

Diniz.



  ----- Original Message ----- 
  From: Fabiano Caixeta Duarte 
  To: address@hidden 
  Sent: Friday, September 26, 2008 10:58 AM
  Subject: Re: [shell-script] Script com Funcao


  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]



   

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



reply via email to

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