Enviado em 12/07/2012 - 18:00h
Pessoal tenho um case no meu shell que não sei o porque não esta entrando na condicional.#!/bin/bash # package http://sekysu.blogspot.com # # Makes iptables rules usings the /etc/dhcp/dhcp.conf file # file MkIptblFromDhcpConf.sh # # charset UTF-8 # endofline Linux # since 2012-26-06 23:58 (GMT -03:00) # license GPL v2.0 # # system GNU bash, version 3.1.17(2)-release i486 slackware 12.2 # autor Paulo Riceli (./.ronin) [ http://sekysu.blogspot.com ] # autor Luis Vilella (luivilella)[http://www.vivaolinux.com.br/perfil/verPerfil.php?login=luivilella] # more http://sekysu.blogspot.com typeset -r _INPUT_ARQ='/etc/scripts/aux/dhcpd.conf' typeset -r _RULES='/tmp/rules.sh' typeset -r _START_RULE='iptables -A INPUT -s' typeset -r _ACCEPT_END_RULE='-j ACCEPT' typeset -r _REJECT_END_RULE='-j REJECT' function _getSubnet() { _DELIM='subnet' grep -e ${_DELIM} ${_INPUT_ARQ} | sed "s/${_DELIM}/_/g" | cut -d '_' -f2 | sed 's/ /_/g' | cut -d '_' -f2 } function _getMaskSubnet() { _DELIM='netmask' grep -e ${_DELIM} ${_INPUT_ARQ} | sed "s/${_DELIM}/_/g" | cut -d '_' -f2 | sed 's/ /_/g' | cut -d '_' -f2 } function _getIp() { _DELIM='fixed-address' grep -e ${_DELIM} ${_INPUT_ARQ} | sed "s/${_DELIM}/_/g" | sed 's/;/_/g' | cut -d '_' -f2 | sed 's/ //g' } function _getRejectList(){ _INDICE=0 for _CONTEUDO in $(_getMaskSubnet) do _MASK[${_INDICE}]=${_CONTEUDO} _changeMask _INDICE=`echo "(${_INDICE} + 1)" | bc` done unset _CONTEUDO _INDICE=0 for _CONTEUDO in $(_getSubnet) do _SUBNET[${_INDICE}]=${_CONTEUDO} _INDICE=`echo "(${_INDICE} + 1)" | bc` done unset _CONTEUDO for ((i=0; i < ${_INDICE} ; i++)) do echo -e "\n${_SUBNET[${i}]}/${_MASK[${i}]}" done unset _INDICE unset i # echo "$(_getSubnet) $(_getMaskSubnet)" } function _changeMask() { case "`echo ${_MASK[${_INDICE}]} | sed 's/ //g' | sed 's/\.//g'`" in "`echo "128.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='1';; "`echo "192.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='2';; "`echo "224.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='3';; "`echo "240.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='4';; "`echo "248.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='5';; "`echo "252.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='6';; "`echo "254.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='7';; "`echo "255.0.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='8';; "`echo "255.128.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='9';; "`echo "255.192.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='10';; "`echo "255.224.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='11';; "`echo "255.240.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='12';; "`echo "255.248.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='13';; "`echo "255.252.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='14';; "`echo "255.254.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='15';; "`echo "255.255.0.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='16';; "`echo "255.255.128.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='17';; "`echo "255.255.192.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='18';; "`echo "255.255.224.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='19';; "`echo "255.255.240.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='20';; "`echo "255.255.248.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='21';; "`echo "255.255.252.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='22';; "`echo "255.255.254.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='23';; "`echo "255.255.255.0" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='24';; "`echo "255.255.255.128" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='25';; "`echo "255.255.255.192" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='26';; "`echo "255.255.255.224" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='27';; "`echo "255.255.255.240" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='28';; "`echo "255.255.255.248" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='29';; "`echo "255.255.255.252" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='30';; "`echo "255.255.255.254" | sed 's/\.//g'`" ) _MASK[${_INDICE}]='31';; * );; esac } function _getAcceptRules() { for _IP_RANGE in $(_getIp) do echo "${_START_RULE} ${_IP_RANGE} ${_ACCEPT_END_RULE}" done } function _getRejectRules() { unset _IP_RANGE for _IP_RANGE in $( _getRejectList ) do echo "${_START_RULE} ${_IP_RANGE} ${_REJECT_END_RULE}" done } function _execute() { _getAcceptRules > ${_RULES} _getRejectRules >> ${_RULES} #echo -e "\n $0 \n The rules list from \n ${_RULES}\n" cat ${_RULES} } function _main() { if [ -e ${_INPUT_ARQ} ] then _execute else echo -e "$0::Input error \nThe file ${_INPUT_ARQ} not exists" exit 1 fi } _main && exit 0
#dhcp3-server ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; #definindo a rede que o dhcp ira funcionar subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.100 10.1.1.252; option routers 10.1.1.98; option domain-name-servers 208.67.222.222 ,208.67.220.220 ,67.138.54.100 ,207.225.209.66 ,156.154.70.1 ,156.154.71.1 ,8.8.8.8 ,8.8.4.4; option broadcast-address 10.1.1.255; host xxxxxxxxx { hardware ethernet ac:72:89:09:a4:11; fixed-address 10.1.1.111; } host xxxxxxxxx { hardware ethernet 4c:ed:de:74:be:ff; fixed-address 10.1.1.209; } host xxxxxxxxx { hardware ethernet b4:74:9f:9c:64:f8; fixed-address 10.1.1.215; } host xxxxxxxxx { hardware ethernet b4:82:fe:0a:4b:55; fixed-address 10.1.1.248; } .........
Enviado em 13/07/2012 - 19:20h
Vish... Mestre rai3mb top esse bash -xCriar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (7)
instalar o Linux em computadores Acer novos (7)
Será possível instalar Linux Mint LMDE em Sony Vaio? (19)
O livro "Linux - Guia do Administrador do Sistema (Rubem E. Ferre... (1)