Chinaunix
标题:
求助,全局变量居然赋值无效??
[打印本页]
作者:
bigfatsea
时间:
2004-10-18 19:50
标题:
求助,全局变量居然赋值无效??
下面的代码中那三个全局变量的值总是0,不知道问题处在什么地方?
用法:ls -l | ls.sh
ls.sh
#!/usr/bin/bash
ttsize=0
ttfile=0
ttdir=0
#parse rwx to number
prp()
{
#read a
result=0
if test ${1:0:1} = "r"
then
let 'result=result+4'
fi
if test ${1:1:1} = "w"
then
let 'result=result+2'
fi
if test ${1:2:1} = "x"
then
let 'result=result+1'
fi
printf $result
}
sed -n 's/\(^[d-].\{9\}\)+\? .\+ .\+ .\+ \([0-9]\+\) .\+ .\+ .\+ \([^ ]\+\)/\1 \2 \3/p'|while read i
do
prp ${i:1:3}
prp ${i:4:3}
prp ${i:7:3}
printf "\t"
if test ${i:0:1} = "d"
then
ttfile=`expr $ttfile + 1`
printf "dir\t"
fi
if test ${i:0:1} = "-"
then
ttdir=`expr $ttdir + 1`
printf "file\t"
fi
printf "\t"
echo ${i:10} | sed -n 's/\(^[0-9]\+\) \(.\+\)/\1\t\2/p'|sed 's/^0//'
echo ${i:10} | sed -n 's/\(^[0-9]\+\) .\+/\1/p'|while read filesize
do
ttsize=`expr $ttsize + $filesize`
done
done
echo "Total Dir: "$ttfile
echo "Total File: "$ttdir
echo "Total File Size: "$ttsize
复制代码
[/code]
作者:
bigfatsea
时间:
2004-10-18 20:10
标题:
求助,全局变量居然赋值无效??
大侠,急需您的帮助阿~~~
作者:
bigfatsea
时间:
2004-10-19 00:34
标题:
求助,全局变量居然赋值无效??
写了这个程序
tt=3
echo "abc 123" | awk '{print $2}' | while read ttt
do
echo $ttt
echo $tt
tt=`expr $ttt + $tt
echo $tt
done
echo $ttt
echo $tt
-------------------------------
运行结果
123
3
126
3
为什么会这样?
我想把那个123取出来放到变量里面以便计算。。。该如何作呢?
作者:
網中人
时间:
2004-10-19 07:20
标题:
求助,全局变量居然赋值无效??
參考一下:
http://bbs.chinaunix.net/forum/viewtopic.php?t=199520
記得更早之前, 本版也曾討論過 while & read 的問題,
當時結論是個 bug .
不過, 一下子我找不到那篇在哪裡, 或許花時間到精華區挖挖?
作者:
用钱的兜兜
时间:
2004-10-19 08:47
标题:
求助,全局变量居然赋值无效??
tt=`expr $ttt + $tt 少一个“`”
复制代码
[/code]
作者:
用钱的兜兜
时间:
2004-10-19 08:50
标题:
求助,全局变量居然赋值无效??
其中后面的倒数的2。3个变量没有显示,自己看看哦
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2