쉘 스크립트의 한계가 계산식에서 정수 연산 밖에 안된다는 점이
있더군요. 계산은 perl -e 로 불러서 하시는 것이 낳을 것 같다
는 생각입니다. ^^
: 서버를 운용하다보면 가끔씩 트래픽을 보고싶을 때가 있는데.
: 김정균님의 쉘스크립트를 수정한 것입니다.
: 김정균님 한테는 죄송.
:
: 실행 예 )
:
: ./transfer eth0
: 측정중입니다. 기다려주세요
: 수신(in) 1 kbyte/s
: 송신(out) 28 kbyte/s
:
:
: #!/bin/sh
: #
: # Scripted by JoungKyun Kim
: # 2001.2.15 http://www.oops.org : # This Script follows GPL2 License
:
: if [ "$1" != "" ]; then
: # ethnet device
: ETH="$1:"
: CHECK=/proc/net/dev
: CAT=/bin/cat
:
: GREP="/bin/grep ${ETH}"
: SED="sed -e s/${ETH}//"
: UPTIME=/usr/bin/uptime
:
: # parcket user check
: set `${CAT} ${CHECK} | ${GREP} | ${SED}`
:
: # Transmit packet
: let "in1 = $1"
: let "out1 = $9"
:
: echo "측정중입니다. 기다려주세요"
: sleep 10
:
: set `${CAT} ${CHECK} | ${GREP} | ${SED}`
:
: let "in0 = $1"
: let "out0 = $9"
:
: let " in = ($in0 - $in1)/(10*1024)"
: let " out = ($out0 - $out1)/(10*1024)"
: echo "수신(in) $in kbyte/s"
: echo "송신(out) $out kbyte/s"
:
:
: else
: echo "USAGE:$0 [ethernet device no]"
: echo "ex) ./$0 eth0"
: fi
:
: exit 0