while特殊用法
while read 变量名;do
循环体
done<文件路径(将文件中的每一行依次读入循环体,赋值给变量)
(())可以实现C语言风格的变量操作
for循环特殊格式
for((控制变量初始化;条件判断表达式;控制变量修正表达式))
do
循环体
done
控制变量初始化仅在循环开始时执行一次,进行条件判断成立后执行循环体,再执行控制变量的修正,然后再条件判断,知道条件不满足为止。
select用法
select 变量名 in列表
do
循环体命令
done
select是一个无限循环命令,要用break或exit退出循环或脚本。
select主要用于创建菜单并按照顺序输出,格式由PS3变量定义
select可以根据用户的选择执行相应的命令,用户的输入被保存再REPLE变量中
select经常与case变量一起使用
select中 in list可以省略,此时则自动读取位置变量
函数:函数是由若干条命令组成的语句块,有利于代码的重复利用和模块化编程
函数与shell程序相似,不同的是函数不是一个单独的进程,不能独立运行,而且shell程序是在子shell中进行,而函数则是在当前shell中运行,所以函数运行会改变当前shell中的变量值
函数的格式
1、 function 函数名{
函数体
}
2、 function 函数名(){
函数体
}
3、 函数名(){
函数体
}
函数的定义和使用:
可在交互式环境下定义函数
可将函数放在脚本文件中作为它的一部分
可放在只包含函数的单独文件中
函数的调用:函数只有被调用才会执行;
调用:给定函数名 函数名出现的地方,会被自动替换为函数代码
函数的生命周期:被调用时创建,返回时终止
函数有两种返回值,一种是命令的执行结果,另一种是命令执行结果状态码
命令的执行结果可以用printf或echo进行输出,也可以进行调用
函数的退出状态码,默认是函数最后一条命令的执行结果,也可以用return进行自定义
函数必须先定义再进行调用
函数定义在一个单独的文件里可以通过.或source进行调用,但只对当前shell有效,对子shell也无效。
局部变量:在函数体内部定义的局部变量只在当前函数体内部有效,离开函数体自动失效,若脚本中有同名的本地变量或环境变量也优先使用局部变量
局部变量定义方法 locate 变量名=值
函数的递归:通过函数直接或间接的调用自身实现
原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/38542
评论列表(1条)
对while、for等循环语句的语法总结的很细致,同时函数部分的用法也很详细,可以在文章中穿插练习中的脚本,并总结好需要注意的地方,这是经验,课后练习需要认真对待。