IFS=$‘\n‘
for line in `ls -l`
do
    (( count++ ))
done
echo $count注意: 
for读取时,自动按空格作为间隔符。因此需要将IFS定义为按换行符分隔
ls -l > forout.log
maxlength=$(wc -l < forout.log)
for i in `seq $maxlength`
do
    (( count++ ))
done < forout.log
echo $count注意: 
wc 需要使用重定向方式,否则输出的格式是”行数 文件名”。
while read line 
    do
        (( count++ ))
    done < readFile.log
    echo $count注意 
如果while条件表达式没有写read,则会输出line,但最后结果是一样的
    cat readFile.log | while read line
    do
        #(( count++ ))
        echo "$line"
    done
    #echo $count注意 
最后输出的count是空值,感觉是因为一个管道符生成了一个子进程,而子进程的变量无法返回父进程
ime命令 用于 打印出一条命令或一个程序的执行时间 
time 命令以秒为单位将一条命令执行期间所用的时间、系统时间和 time 命令的执行时间打印在标准错误中。 
用法:time [ -p ] Command [ Argument … ] 
time命令结果有三行组成:real、user和sys。我们这里用的都是real值,CPU用时被划分为user和sys两块。
测试上述四种方法 
1. 
real    0m0.022s 
user    0m0.000s 
sys 0m0.004s
2. 
real    0m0.066s 
user    0m0.004s 
sys 0m0.016s
3. 
real    0m0.001s 
user    0m0.000s 
sys 0m0.000s
4. 
real    0m0.015s 
user    0m0.000s 
sys 0m0.008s
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/havedream_one/article/details/47102069