Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Posiadam taki prosty skrypt:
#!/bin/sh HOSTS_FILE="/skrypty/arping/hosts" hosty_aktywne=0 hosty_nieaktywne=0 IFACE=$1 if [ "$1" = "" ]; then IFACE="eth1" else IFACE=$1 fi echo "Pobieram liste hostow z pliku..." while read linia; do CFG_LINE="`echo $linia | grep -vE '^[[:space:]]*(#|$)'`" if [ "$CFG_LINE" != "" ]; then ip="`echo $CFG_LINE | cut -d' ' -f1`" opis="`echo $CFG_LINE | cut -d' ' -f2`" hosty=`arping -f -c 1 -w 1 -I $IFACE $ip | grep "Unicast" | awk '{print $1}'` if [ $hosty ]; then echo -e "[\33[1;32m UP \33[1;37m]" $ip $opis let hosty_aktywne+=1 else echo -e "[\33[1;31m DOWN \33[1;37m]" $ip $opis let hosty_nieaktywne+=1 fi fi done < $HOSTS_FILE echo Aktywne: $hosty_aktywne echo Nieaktywne: $hosty_nieaktywne
Po jego wykonaniu otrzymuję takie błędy:
root@Alpha:/skrypty/arping# ./hosty Pobieram liste hostow z pliku... [ DOWN ] 10.0.0.213 komp_213 ./hosty: 26: let: not found [ DOWN ] 10.0.0.214 komp_214 ./hosty: 26: let: not found Aktywne: 0 Nieaktywne: 0
Problemem jest polecenie let, którego zadaniem jest zliczanie hostów aktywnych i nieaktywnych. Wiem, że do operacji arytmetycznych w skryptach powinienem dodać #!bin/bash. Jednakże po dodaniu #!bin/bash problem nie znika. Mogę prosić o jakieś wskazówki?
Offline
Z tego co patrze u siebie to musi być #!/bin/bash. sh tego nie obsluguje:
pablo@lena:~$ ./ll 61 pablo@lena:~$ cat ll #!/bin/bash while read i do let dupa+=1 done < /home/pablo/todo echo $dupa
Offline