shell中的循环语句

来源:互联网 发布:手机淘宝logo尺寸 编辑:程序博客网 时间:2024/06/03 03:29

在我们平时使用C/C++编程中循环无疑是for和while,二者结束的标志是break,continue是二者结束本轮函数进入下一论循环的开关,但是在shell里除了for和while还有一个until,情况分析有case语句,但是和C/C++中完全不一样,在代码中有详细的标注:

  1 #!/bin/bash                                                                                                                             2   3 #程序猿帝  4 #antony  5 echo "for循环展示:"  6 for loop in 1 2 3 4 5  7 do echo "  value is :$loop"  8 done  9  10 for str in "hello " 'world!' 11 do echo "str= $str" 12 done 13  14 for ((i=0; i<5; i++)) 15 do  16 echo $i 17 done 18 echo "while 循环展示:" 19 i=1 20 while(( $i<=5 )) 21 do  22 echo "i = "$i 23 let "i++" 24 done 25 echo '按下Ctrl+D退出' 26 echo '输入你喜欢的数字' 27 while read a 28 do 29 echo "你喜欢的数字:> $a" 30 done 31  32 echo 'case 使用展示:' 33 echo '输入1到4之间的数字:' 34 echo '你输入的数字为:' 35 read a 36 case $a in  #case取值后判断必须加in 37 1) echo '你选择了1' 38 ;;#两个封号代表这break 39 2) echo '你选择了2' 40 ;; 41 3) echo '你选择了3' 42 ;; 43 4) echo '你选择了4' 44 ;; 45 *) echo '你没有输入1到4之间的数' # *) 代表了default 46 ;; 47 esac #case的结束标志,讲case返过来显示 48  49 #break和continue的区别使用 50 while : 51 do  52 echo -n '输入1到5之间的数字:'  #-n 代表了连着输出不换行 53 read a 54 case $a in 55 1|2|3|4|5) echo "你输入的数字是 $a"  # |用或的方式,讲所有所有选项一次性将所有选项搞定 56 ;; 57 *) echo "你输入的数字不是1到5之间的!break" 58 break #直接跳出循环 59 ;; 60 esac 61 done 62  63 while :  64 do 65 echo -n "请输入1到5之间的数字:" 66 read a 67 case $a in 68 1|2|3|4|5) echo "你输入的是:$a" 69 ;; 70 *) echo "你输入的不是1到5之间的数,continue" 71 continue #结束本次循环进入下次循环 72 echo "游戏结束" #不会被输出 73 ;; 74 esac 75 done 76         

运行结果:
这里写图片描述
这里写图片描述
通过for循环的三种模式的编写和运行可以看得出字符串和数字的循环模式,while模式也有体现,想说的是case和while的结合以及最后的停止循环,break是立即停止循环,continue只是停止了当前循环进入到下一轮循环,最后通过Ctrl+c停止循环接触进程。使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量,具体查看:http://www.runoob.com/linux/linux-comm-let.html
until循环:
这里写图片描述
执行结果:
这里写图片描述
until循环执行一系列命令直至条件为真时停止。
until循环与while循环在处理方式上刚好相反。
一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。
死循环这里也展示一下:
这里写图片描述
这三者不管执行那个都会出现死循环:
这里写图片描述

原创粉丝点击