Запомняне

» Здравейте
[ Вход :: Регистриране ]
Тема: bash скрипт грешка, имам странен проблем с един скрипт
Мнение #1 Skip to the next post in this topic.
Написано на: Юни 13 2006, 18:55
mcwolf

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
а ето и самият скрипт
Код: 

#!/bin/bash
CONFIG="/etc/dhcpd.conf";

if [ -f $CONFIG ]; then
       current=0;
       for row in `grep -v ^# $CONFIG | awk '{if($1 == "fixed-address" && length($2)) print $2}'`; do
               row=`echo $row | tr -d ";"`;
               ip[$current]=$row;
               let "current += 1";
       done;

       let "current = 0";
       for row in `grep -v ^# $CONFIG | awk '{if($1 == "hardware" && $2 == "ethernet" && length($3)) print $3}'`; do
               row=`echo $row | tr -d ";"`;
               mac[$current]=$row;
               let "current += 1";
       done;

       if [ ${#ip[@]} -eq ${#mac[@]} ]; then
               for (( i = 0; i < ${#ip[@]}; i++ )); do
                       echo "iptables -t nat -s ${ip[$i]} -m mac --mac-source ${mac[$i]} -j ACCEPT;";
               done;
       fi;
fi;


скриптът чете конфигурационният файл на dhcp сървърът и генерира правила за iptables - на няколко машини работи - всъщност не работи единствено на машината за която е писан - дава следната грешка
Код: 

iptables -t nat -s 192.168.1.2 -m mac --mac-source 00:C0:CA:dB:94:80 -j ACCEPT;
: command not found3:
: command not found2:
iptables -t nat -s 192.168.1.3 -m mac --mac-source 00:14:22:B3:BA:40 -j ACCEPT;
: command not found3:
: command not found2:
iptables -t nat -s 192.168.1.4 -m mac --mac-source 00:C0:AF:10:10:02 -j ACCEPT;
: command not found3:
: command not found4:
: command not found5:


по точно работи - но мамкаму : command not found5: и подобните му на какво се дължат ?

http://galiry.linux-index.org:1024/download/ (на тоя адрес съм сложил скриптът и примерен конфиг файл)


Редактирано от mcwolf на Юни 13 2006, 20:34
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #2
Skip to the previous post in this topic. Написано на: Юни 20 2006, 15:36

Avatar


Warn 3

Група: Li fans
Мнения: 384
Регистриран: Април 2006

Оценка: няма

Offline
От съвсем скоро се занимавам със shell ######, но си мисля, че проблема е в последната част. Можеш ли да го пробваш така :
Код: 

#!/bin/bash
CONFIG="/etc/dhcpd.conf";

if [ -f $CONFIG ]; then
      current=0;
      for row in `grep -v ^# $CONFIG | awk '{if($1 == "fixed-address" && length($2)) print $2}'`; do
              row=`echo $row | tr -d ";"`;
              ip[$current]=$row;
              let "current += 1";
      done;

      let "current = 0";
      for row in `grep -v ^# $CONFIG | awk '{if($1 == "hardware" && $2 == "ethernet" && length($3)) print $3}'`; do
              row=`echo $row | tr -d ";"`;
              mac[$current]=$row;
              let "current += 1";
      done;
     i=0
while [ $i -lt $current ];do
echo "iptables -t nat -s ${ip[$i]} -m mac --mac-source ${mac[$i]} -j ACCEPT;"
let "i=$i+1"
done
fi

red@debian:~$ sudo apt-build world
-----> Rebuilding the world! <-----
-----> Building package list <-----
Please read README.Debian first.
red@debian:~$
Контакти:  Red

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Общо 1 отговор(а) от Юни 13 2006, 18:55 до сега

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums