循环

1)编程中的逻辑处理: 顺序执行 选择执行 循环执行
2)循环执行

将某代码段重复运行多次

重复运行多少次


循环次数事先已知

循环次数事先未知

有进入条件和退出条件 

3)for循环

for 变量名 in 列表;do

循环体

done
执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直 到列表中的元素耗尽,循环结束

for循环的特殊格式:

for ((控制变量初始化;条件判断表达式;控制变量的修正表达式)) do

循环体

done 

控制变量初始化:仅在运行到循环代码段时执行一次 

控制变量的修正表达式:每轮循环结束会先进行控制变量修正运算,而后再做 条件判断

4)while循环

while CONDITION; do

循环体

done

CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后 会再次做判断;

条件为“true”,则执行一次循环;直到条件测试状态为“false” 终止循环 

因此:CONDTION一般应该有循环控制变量;而此变量的值会在循环体不断地被 修正 

进入条件:CONDITION为true 退出条件:CONDITION为false

5)until循环

until CONDITION; do

循环体 

done
 进入条件: CONDITION 为false 退出条件: CONDITION 为true

6)循环控制语句continue

用于循环体中 

continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断;

最内层为 第1层

while CONDTIITON1; do

CMD1 ...

if CONDITION2; then

continue

fi

CMDn ...

done

7)循环控制语句break

用于循环体中 

break [N]:提前结束第N层循环,最内层为第1层

while CONDTIITON1; do

CMD1 ...

if CONDITION2; then

break

fi

CMDn ...

done
8)select循环和菜单

select variable in list do

循环体命令

done

select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上, 并显示 PS3 提示符,等待用户输入 

用户输入菜单列表中的某个数字,执行相应的命令 

用户输入被保存在内置变量 REPLY 中 

select 是个无限循环,因此要记住用 break 命令退出循环,或用 exit 命令终止 脚本。也可以按 ctrl+c 退出循环 

select 经常和 case 联合使用 与 for 循环类似,可以省略 in list,此时使用位置参量

9)函数介绍

函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程 

它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运 行,而是shell程序的一部分  函数和shell程序比较相似,区别在于 Shell程序在子Shell中运行 而Shell函数在当前Shell中运行。 因此在当前Shell中,函数可以对shell中变 量进行修改

10)定义函数

函数由两部分组成:函数名和函数体 

help function 

语法一: f\_name (){

...函数体...

} 

语法二: function f\_name {

...函数体...

} 

语法三: function f\_name () {

...函数体...

}
函数的定义和使用:可在交互式环境下定义函数 

可将函数放在脚本文件中作为它的一部分 

可放在只包含函数的单独文件中 

调用:函数只有被调用才会执行

调用:给定函数名 函数名出现的地方,会被自动替换为函数代码 函数的生命周期:被调用时创建,返回时终止

标签: 函数, SHELL, 编程, 进阶, 循环, 循环体, CONDITION

相关文章推荐

添加新评论,含*的栏目为必填