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,如需转载请自行联系原作者




相关文章
|
容器
SimpleMessageListenerContainer用法
SimpleMessageListenerContainer用法
260 0
|
JSON Java fastjson
JackJSON的用法
网上大多数都是FastJSON的用法,很少有JackJSON的用法。我总结了几个自己经常用到的,供大家参考。
|
存储 API 索引
CImageList用法介绍
CImageList用法介绍
175 0
propertyIsEnumerable的用法
propertyIsEnumerable用法 语法和功能 obj.propertyIsEnumerable(prop): 判断prop属性是否是obj的可枚举属性
180 0
|
存储 SQL Oracle
DatabaseMetaData的用法(转)
DatabaseMetaData的用法(转)
595 0
${}用法
[el表达式],它会从page,request,session,application中取值。比如:{name}它的意思就从以上4个对象中去名为name的值。
1363 0
|
数据安全/隐私保护
下一篇
无影云桌面