嵌入式 Shell中while循环语句

原创 2013年12月02日 14:56:51

while循环
while循环能够重复执行一系列的命令,直到某种条件发生,先决条件是while后面的条件返回值,如果while后的命令执行成功,或条件真,则执行do和done之间的语句,执行完成后,再次判断while后的命令和条件;如果while后的命令执行失败,或条件为假,循环结束,与for循环的区别是,这种结构适合用在循环次数未知的情况下.
基本语法:

  1. while [condition]
  2. do
  3. command...
  4. done
  5. condition是一个条件测试命令,command是一个或多个命令的列表。
  6. 1.执行condition
  7. 2.如果condition的退出状态为非0,则退出循环
  8. 3.如果condition的退出状态为0,则执行command
  9. 4.当command结束时,回到第一步

如以下案例:

  1. [root@sandy ~]# cat4.sh
  2. #!/bin/bash
  3. i=0
  4. while [ $i -lt 10 ]
  5. do
    echo$i
  6. i=`expr$i + 1`
  7. done

  1. [root@sandy ~]# sh -x4.sh
  2. + i=0
  3. + '[' 0 -lt 10 ']'
  4. + echo 0
  5. 0
  6. ++ expr 0 + 1
  7. + i=1
  8. + '[' 1 -lt 10 ']'
  9. + echo 1
  10. 1
  11. ++ expr 1 + 1

通过以上的案例,那么就非常容易去理解嵌套循环了,而abs-guide对嵌套循环的定义如下:

嵌套循环就是在一个循环中还有一个循环,内部循环在外部循环体中.在外部循环的每次执行过程中都会触发

内部循环,直到内部循环执行结束.外部循环执行了多少次,内部循环就完成多少次.当然,不论是外部循环或

内部循环的break 语句都会打断处理过程.



下面来看一个比较经典的嵌套循环案例:

[root@sandy ~]# cat 6.sh 

#!/bin/bash

x=0

while [ "$x" -lt 10 ];

do

        y="$x"

        while [ "$y" -ge 0 ];

        do

        echo -n  "$y"

        y=`expr $y - 1`

        done

   echo "$x"

   x=`expr $x + 1`

done

执行结果如下:

00

101

2102

32103

432104

5432105

65432106

765432107

8765432108

98765432109

这些是比较基本的循环了,但万变不离其宗,个人认为理解脚本的执行过程是比较重要,那么sh -x就是一个

重要的调试命令了!

相关文章推荐

shell浅谈之三for、while、until循环

一、简介        Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于...

Linux Shell系列教程之(十一)Shell while循环

本文是Linux Shell系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中,我...

bash shell while语法

在编写脚本时,一定要注意空格 基本语法: while [ condition ] do command1 command2 command3 done conditio...

shell for&while 循环详细总结

#!/usr/bin/ksh #数字段形式 for i in {1..10} do    echo $i done #详细列出(字符且项数不多) for File in 1 2 3 4 ...

shell for&while 循环详细总结

#!/usr/bin/ksh #数字段形式 for i in {1..10} do    echo $i done #详细列出(字符且项数不多) for File in 1 2 ...

Shell 编程7(循环语句while)

while 结构: while循环语句也称前测试循环语句,它的循环重复执行次数,是利用一个条件来控制是否继续重复执行这个语句。while语句与for循环语句相比,无论是语法还是执行的流程,都比...

Shell的while命令

Shell的while命令while语法结构while argument; do statement ... done常见用法 无限循环。 while中的无限循环使用((1))或者[...

bash shell while语法

在编写脚本时,一定要注意空格基本语法:while [ condition ] do command1 command2 command3 donecondition为true时命令1...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

利用K-means聚类算法根据经纬度坐标对中国省市进行聚类

K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Shell中while循环语句
举报原因:
原因补充:

(最多只允许输入30个字)