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




相关文章
|
1月前
ThreadHelper用法
ThreadHelper用法
8 0
|
5月前
|
机器学习/深度学习 数据可视化 API
Gymnasium的基本用法
Gymnasium的基本用法
109 0
|
9月前
|
测试技术 API
harfbuzz 的用法
HarfBuzz 整形 API 的核心是函数。此函数采用一种字体,即 包含一串 Unicode 代码点的缓冲区和 (可选)字体功能列表作为其输入。它取代了 缓冲区中的代码点,其中包含来自 字体,正确排序和定位,以及任何 应用的可选字体功能。hb_shape()
240 0
ClientToScreen 和ScreenToClient 用法
<div class="mod-page-main wordwrap clearfix"> <div class="x-page-container"> <div class="mod-blogpage-wraper"> <div class="grid-80 mod-blogpage"> <div class="mod-text-content mod-post-content
2942 0
|
定位技术 内存技术