SCO的shell里子循环的变量值为什么不能带到你循环里来!
屏风竹影 2008-04-10 03:00:37 谁能告诉我下面这段SCO下的shell有什么问题?
cnt=0
for dbs in all_dbs
do
onstat -d|grep $dbs|grep -v "informix $dbs"|sort +5 -nr|while read a b c d e f g h
do
cnt=`expr $cnt + $f`
echo "f===="$f
echo "cnt==="$cnt
done
echo "cnt111===="$cnt
cnt=`expr $cnt \* 4 \/ 1024`
echo $dbs"====["$cnt"]MB"
done
运行结果:
$ sh fcdbssize.sh
f====66480
cnt===66480
f====31361
cnt===97841
cnt111====0
all_dbs====[0]MB
为什么到echo "cnt111===="$cnt这一句的时候cnt值变成0了,也就是子循环里变量的值带不出来,很郁闷,谢高手帮我分析一下,不胜感谢!