第3章 shell结构化命令------------(while、until循环,九九乘法表)
2017-04-22 00:00
826 查看
3.5 while、until命令
while命令允许定义要测试的命令,然后只要定义的测试命令返回0退出状态代码。它在每次迭代开始时检查测试命令。测试命令返回非零退出状态代码时,while命令停止执行命令集。3.5.1 使用多条测试命令
while命令的格式是:在while命令中定义的test命令与在if-then语句中定义的格式一样。while命令的关键是指定的test命令的退出状态必须根据循环中命令的运行情况改变。如果退出状态不改变,while循环就会陷入无限的循环中。只要测试条件为true,while命令会继续循环定义的命令。在这些命令中,用于检测条件的变量一定要改变,否则就会无穷循环。
while命令允许在while语句定义多条test命令。只有最后一条测试命令的退出状态是用来决定循环是何时停止的。在多命令while语句中,所有的测试命令在每次迭代中都执行,包含测试命令失败的最后一次迭代。
第一条测试命令简单的显示了变了$result的当前值。第二条命令使用测试命令决定变了$test的值。当变量$test的值等于零时,while循环执行echo语句。接下来,用于下一次迭代的测试条件被执行。执行echo测试命令,显示变量test的值,它现在小于零。直到shell执行test测试命令,while循环才终止。这表明,在多命令while语句中,所有的测试命令在每次迭代中执行,包含测试命令失败的最后一次迭代。
#!/bin/bash #while命令测试实例 test=10 result=1 while echo $result [ $test -gt 0 ] do result=$[ $result*$test ] test=$[ $test-1 ] done echo "10的阶乘"$result
3.5.2until命令与循环嵌套
until命令刚好与while命令相反。until命令需要制定一条测试命令,这条命令通常产生一个非0的退出状态。只要测试命令的退出状态非0,bash shell就会执行列在循环当中的命令。一旦测试条件返回0退出状态,循环停止。until命令格式如下:与while命令相似,可以在until命令语句中使用多条测试命令。只有最后一条命令的退出状态能够决定bash shell是否执行其他定义的命令。
#!/bin/bash #until命令测试实例如下 var=10 result=1 until echo $var,$result [ $var -le 0 ] do result=$[ $result*$var ] var=$[ $var -1 ] done echo "10的阶乘"$result
一条循环语句可以在循环中使用任何类型的命令,包括其他循环命令。这种称为嵌套循环。使用嵌套循环时要谨慎,因为是在一个迭代内部执行另一个迭代,它增加了正在运行的命令的运行次数。
嵌套循环(也称为内循环)对每次外部循环迭代都迭代所有的值。注意,两个循环的do命令和done命令之间没区别。嵌套循环实例:
#!/bin/bash #for嵌套for循环 #9*9乘法口诀 for(( i=1 ;i<=9;i++ )) do for(( j=1;j<=9;j++ )) do #当$j小于等于$i,在屏幕上打印乘法表 [ $j -le $i ] && echo -n "$i*$j=$[ $i * $j ] " done echo '' done
相关文章推荐
- 第3章 shell结构化命令------------(while、until循环,九九乘法表)
- 第3章 shell结构化命令------------(while、until循环,九九乘法表)
- 第3章 shell结构化命令------------(文件数据的循环与控制循环)
- 第三章:shell结构化命令 for & while循环
- 第3章 shell结构化命令------------(文件数据的循环与控制循环)
- 第3章 shell结构化命令------------(文件数据的循环与控制循环)
- Shell中的循环语句for、while、until实例讲解
- shell中while循环引用ssh命令的坑
- Shell中的循环语句for、while、until实例讲解
- shell编程中for/while/until循环命令
- shell基础之三:循环语句for,while,until
- Shell中的循环语句总结(for, while, until)
- shell下在while循环中使用ssh命令的问题
- linux笔记 第七天 文件查找find命令、文件特殊权限、while和until循环
- 第八章 shell学习之循环和结构化命令
- Shell Scripts - 循环while,until,for
- Shell脚本while、until循环语句简明教程
- shell浅谈之三for、while、until循环
- Linux之Shell脚本while循环ssh登录执行命令
- 更多的结构化命令 for while until