본문 바로가기
보관용

[ash] 배열처리 / 무한루프 / 문자변환 : kickmac

by 크크다스 2014. 12. 5.
반응형

= ash => sh버전은 아래를 참고하길

ash에서는 array를 사용할 수 없다, 그래서 array처럼 사용하기위해서 루프를 돌고 거기서 각각의 넘버링을 수행한다.

#!/bin/sh

# snmp_get session |grep '0.0.0.0'|cut -d" " -f2,6,8|awk '{print "echo iwpriv ath"$1" kickmac "$2}' |sh
# iwpriv ath0 kickmac A8:06:00:91:27:79
# iwpriv ath0 kickmac BC:72:B1:D9:D8:05
# iwpriv ath0 kickmac F0:6B:CA:43:A6:03
# iwpriv ath0 kickmac CC:FA:00:A8:5E:1A
# iwpriv ath20 kickmac A8:06:00:91:27:79

MAX_TIME=1800
SLEEP_SEC=180

while [ : ]; do

snmp_get session | grep "0.0.0.0" | cut -d " " -f2,6,7,8| while read  session
do
        idx=0
        for item in $session
        do
                idx=`expr $idx + 1`
                eval "item_$idx=${item}"
        done

        uptime=${item_4}
        if [ "$uptime" != "" ]
        then
                expr="${uptime} > ${MAX_TIME}"
                result=`expr ${expr}`
                if [ "$result" == "1" ]
                then
                        #echo "iwpriv ath${item_1} kickmac ${item_2}"
                        iwpriv ath${item_1} kickmac ${item_2}
                fi
        fi
done

sleep $SLEEP_SEC
done


= sh

문자변환등을 주의 깊게 보길

#!/bin/sh

MAX_TIME=100

I_ATH=1
I_MAC=5
I_IP=6
I_UP=3

cat xx |grep "0.0.0.0" | while read  session
do
    echo "session=[$session]"
    #items=(${session// / })
    items=${session}
    uptime=${items_$I_UP}
echo "uptime=_$uptime]"
    if [ "$uptime" != "" ]
    then
        expr="${uptime} > ${MAX_TIME}"
        result=`expr ${expr}`
        if [ "$result" == "1" ]
        then
    #echo "${items_$I_MAC} is End[$expr]"
            echo "iwpriv ath${items_$I_ATH} kickmac ${items_$I_MAC}"
        fi
    fi
done

idx=0
for item in $session
do
    idx=`expr $idx + 1`
    eval "item_$idx=${item}"
done
echo "item_2=[${item_2}]"


반응형

'보관용' 카테고리의 다른 글

경주 김씨 항렬(돌림자)  (0) 2015.01.28
국가 부패지수  (0) 2015.01.28
[색상표] RGB  (0) 2014.12.03
[NetFilter] 잘 정리된 그림들  (0) 2014.11.20
[Movies] 인터스텔라 사전지식  (0) 2014.11.20