for、while的特殊用法


1.    while循环的特殊用法(遍历文件的每一行):


    while read line; do

         循环体

    done < /path/from/somefile


依次读取/path/from/somefile文件中的每一行,且将行赋值给变量line


示例:

    找出ID号为偶数的所有用户,并显示其用户名及ID号

1
2
3
4
5
6
7
8
9
#!/bin/bash
#
 
while read line; do
    if [ $(($(echo $line | awk -F: '{print $3}') % 2)) -eq 0 ]; then
        echo -e -n "username : $(echo $line | awk -F: '{print $1}')\t"
        echo  "userid : $(echo $line | awk -F: '{print $3}')"
    fi
done /etc/passwd



2.    for循环的特殊用法:

    for ((控制变量初始化;条件判断表达式;控制变量修正表达式));

        do

            循环体

        done

控制变量初始化: 仅在运行到循环代码从段时执行一次;

控制变量的修正表达式: 每轮循环结束会先进行控制变量修正运算,而后在做条件判断;


示例:

    计算100以内所有正整数之和;

1
2
3
4
5
6
7
8
9
#!/bin/bash
 
declare sum=0
 
for ((i=0;i<=100;i++)); do
    let sum+=$i
done
 
echo $sum


示例:

    利用for循环特殊用法打印九九乘法表:

    

1
2
3
4
5
6
7
8
#!/bin/bash
 
for ((a=1;a<=9;a++)); do
    for ((b=1;b<=a;b++));do
        echo -n -e "$a*$b=$[$a*$b]\t"
    done
    echo
done






      本文转自limingyu0312  51CTO博客,原文链接:http://blog.51cto.com/limingyu/1948672,如需转载请自行联系原作者




上一篇:spring4+hibernate4+struts2项目整合的步骤及注意事项


下一篇:python的arg, *args, **kwargs