您的位置:首页 > 运维架构 > Shell

Bash循环与分支浅谈

2016-05-10 14:03 1186 查看
一、循环

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,否则程序就会一直执行,不能终止!!!

执行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: