for循环语句
读取不同的变量值,用来逐个执行同一组命令。

for 变量名 in 取值列表
do
命令序列
done

Shell 循环语句与函数




while循环语句
重复测试某个条件,只要条件成立就反复执行,直到条件不成立结束循环。

while 条件测试操作
do
命令序列
done
Shell 循环语句与函数




untile循环语句
重复测试某个条件,只要条件不成立就反复执行,直到条件成立结束循环。(与while循环语句相反)
Shell 循环语句与函数






for循环示例
输入某个范围内的数,分别计算从1到这个数的奇数和、偶数和,当输入不在范围内时,提示输入错误。

1.编写脚本文件。
Shell 循环语句与函数

2.赋予脚本文件执行权限并运行测试。
Shell 循环语句与函数
Shell 循环语句与函数



while循环语句示例
来玩个好玩的,做个猜0999数字大小的游戏,用系统变量RANDOM随机生成数字取余后赋值给我们自定义的变量。运行脚本后,输入0999的数字猜大小,如果没有猜中,会提示猜得数字偏大或偏小,没猜中的话会一直循环下去,直达我们猜中了这个数字,并且会提示我们猜了几次。

1.编辑脚本文件。
Shell 循环语句与函数
注:while后面的true 表示一直循环;let TIMES++ 表示循环次数,也就是我们猜价格的次数;exit 0 表示$?,返回值状态为0表示程序执行正确,这里用于猜对价格后结束循环。

2.赋予脚本文件执行权限并运行测试。
Shell 循环语句与函数



until循环语句示例
计算1到50的和,定义两个初始变量,一个为总和,一个为加数。从1开始,每一次循环加数都增加1,只要加数满足小于等于50的条件,就一直循环下去,直到加数大于50,循环结束,输出总和值。

1.编写脚本文件。
Shell 循环语句与函数

2.赋予脚本文件执行权限并运行测试。
Shell 循环语句与函数










Shell函数
·将命令序列按格式写在一起
·可方便重复使用命令序列
·Shell函数定义
[ function ] 函数名(){
命令序列
[ return x ]
}
·调用函数的方法
函数名 [参数1][参数2]

在Shell脚本中函数的执行并不会开启一个新的子Shell,而是仅在当前定义的Shell环境中有效。如果Shell脚本中的变量没有经过特殊设定,默认在整个脚本中都是有效的。在编写脚本时,有时需要将变量的值限定在函数内部,可以通过内置命令local来实现。函数内部变量的使用,可以避免函数内外同时出现同名变量对脚本结果的影响。
例:
Shell 循环语句与函数

Shell 循环语句与函数
在这个脚本中,myfun函数内部使用了local命令设置变量i,其作用是将变量i限定在函数内部。myfun函数外部同样定义了变量i,内部变量i和全局变量i互不影响。脚本执行时先调用了函数myfun,函数内部变量i为8,所以输出结果是8。




函数的作用范围
·函数在Shell脚本中国仅在当前Shell环境中有效
·Shell脚本中变量默认全局有效
·将变量限定在函数内部使用local命令



函数的参数
·参数的用法
函数名称 参数1 参数2 参数3 …
·参数的表示方法
·$1 $2 $3 … ${10} ${11} …






Shell数组

应用场景包括
·获取数组长度
·获取元素长度
·遍历元素
·元素切片
·元素替换
·元素删除


数组定义方法
·方法一:数组名=(value0 value1 value2 …)
·方法二:数组名=([0]=value [1]=value [2]=value …)
·方法三:列表名=”value0 value1 value2 …”
数组名= ($列表名)
·方法四:数组名[0]=”value”
数组名[1]=”value”
数组名[2]=”value”



数组包括的数据类型
·数值类型
·字符类型(使用””或’’定义)




示例

1.获取数组长度
Shell 循环语句与函数


2.读取某下标赋值
Shell 循环语句与函数


3.数组遍历
Shell 循环语句与函数
Shell 循环语句与函数


4.数组切片
Shell 循环语句与函数


5.数组替换
Shell 循环语句与函数


6.数组删除
Shell 循环语句与函数

相关文章:

  • 2021-06-12
  • 2021-06-25
  • 2021-10-26
  • 2021-11-20
  • 2021-05-29
  • 2021-11-22
  • 2021-11-07
  • 2021-11-24
猜你喜欢
  • 2021-04-03
  • 2021-05-22
  • 2021-04-28
  • 2021-10-25
  • 2021-07-16
相关资源
相似解决方案