請問各位,我於linux內進行snmpwalk的流量偵測,並將偵測到的值寫入檔案,我發現只要偵測到的值超過9位數(也就是10億),其存入檔案內的值會變成負數,我發現只要定義了declare -i就會有這樣的問題,懇請賜教,謝謝
declare -i first_down=`snmpwalk 127.0.0.1 -c public .1.3.6.1.2.1.2.2.1.10.2|cut -d ":" -f 2`
echo $first_down > /control/caldown
declare -i first_up=`snmpwalk 127.0.0.1 -c public .1.3.6.1.2.1.2.2.1.16.2|cut -d ":" -f 2`
echo $first_up > /control/calup
[root@localhost control]# first_up=`snmpwalk 127.0.0.1 -c public .1.3.6.1.2.1.2.2.1.16.2|cut -d ":" -f 2`
[root@localhost control]# echo $first_up
3216266446
[root@localhost control]# declare -i first_up=`snmpwalk 127.0.0.1 -c public .1.3.6.1.2.1.2.2.1.16.2|cut -d ":" -f 2`
[root@localhost control]# echo $first_up
-1078696146
[root@localhost control]# unset first_up
[root@localhost control]# first_up=`snmpwalk 127.0.0.1 -c public .1.3.6.1.2.1.2.2.1.16.2|cut -d ":" -f 2`
[root@localhost control]# echo $first_up
3216279150