码迷,mamicode.com
首页 > 其他好文 > 详细

Bash循环与分支浅谈

时间:2016-05-12 15:06:27      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

一、循环

1.for循环

    

  bash脚本中的for循环,编辑bash文件1.sh,输入代码如下:

       (例子中的代码目的是输出1到10的数字)

         技术分享

 

运行1.sh,即在终端输入bash 1.sh,得到的结果如下:

技术分享

      执行结果分析:第一个for循环格式中没有给后面的数字加" ",使得这些数字并非是一个整体,但是第二个for循环格式给后面的数据加了" ",也就是把后面的数字都看作是一个整体,所以输出的时候两个for循环输出结果又差别!!!


2.while循环

        while循环示例如下:编辑bash文件2.sh,在其中输入如下代码:(输出0到10的值)

  技术分享

     代码分析:while循环在这里判断的是var0的值是否小于范围limit的值,若小于则输出var0的值,echo -n 的意义是不换行;var0=$((var0+1))表示的是将var0加1.


运行2.sh文件得到的结果如下:

技术分享


3.until循环

        until循环的示例如下:编辑3.sh文件,输入以下代码:(当输入的指令为指定指令时,退出程序)

技术分享

代码分析:这里为END赋值为end,用until循环,使用read inner输入值,当输入的值与until代码中的END相同时,则退出程序。

       

运行结果如下:(画了红色线的部分为键盘输入的内容)

        技术分享



二、嵌套循环

嵌套循环的理解和c语言等编程语言的理解是相似的

        具体示例如下:编辑a.sh文件,输入以下代码:(嵌套输出inner loop 和 outer loop)

技术分享

代码分析:首先将outer赋值为1,使用for循环,在a循环中嵌套一个b循环。

输出结果如下:

技术分享


三、循环控制

1.break

break即表示终止循环,具体示例如下:(输出小于6的值)

技术分享

代码分析:首先是设置范围,执行while循环,判断此时的a是否符合条件,然后将a++,判断a是否大于5,如果满足,则执行break语句!


运行结果为:

技术分享


2.continue

continue语句即表示跳过改循环体,具体事例如下:(输出1到10中3和6以外的值)

    技术分享

代码分析:这里首先是使用while循环语句,保证值在1到10之间,在while语句后有一个if判断语句,表示当a的值等于3或者是等于6时,跳出循环。

运行结果如下:

技术分享



四、测试与分支

1.case (in) / esac 格式

case在bash脚本作用相当于switch在c语言中的作用,具体事例如下:

技术分享

代码分析:输入keypress,这里case "keypress" in 是格式,切记在exit 0 的前面要加上esac!!!这都是case的格式!!!


运行结果如下:(划红线的部分为键盘输入内容)

技术分享


2.select语句

select语句可以建立菜单,具体示例如下:(选择你喜欢的蔬菜)

技术分享

代码分析:select 语句的格式如上,in后面的单词之间需要空格!!!开头的提示语句需要使用PS3为量,改为其他的字符串会显示不出来!或者可以直接把一整句改为echo "Choose your favorite vegetable:"    还有一点一定要注意的就是在 done 的前面一定要加上break,否则程序就会一直执行,不能终止!!!


执行结果如下:

技术分享


Bash循环与分支浅谈

标签:

原文地址:http://blog.csdn.net/qq_31524409/article/details/51362408

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!