一:shell函数
Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。
Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别。
Shell 函数定义的语法格式如下:
function name() { #function是shell中的关键字,专门用来定义函数 name是函数名
statements #statements是函数要执行的代码,也就是一组语句;
[return value] #return value表示函数的返回值,其中return是shell关键字,专门用在函 数中返回一个值;这一部分可以写也可以不写。
} #由{ }包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的 代码。
注:function可以不写,如果写了可以省略后面小括号
1.1:函数定义的简化写法
1.3:函数的作用范围
函数在Shell脚本中仅在当前的Shell环境中有效
Shell脚本中变量默认全局有效
将变量限定在函数内部使用的local命令
示例
函数内部变量通过local来实现
通过定义myfun函数,在其内部设置局部变量i
函数内部和外部分别赋值,进行结果验证
local定义全局变量
1.3:递归函数
调用自己本身的函数
示例
递归遍历目录
通过定义递归函数list_files来实现
二:shell数组
2.1:应用场景包括
1.应用场景包长度
2.获取数组长度
3.获取元素长度
4.遍历元素
5.元素切片
6.元素替换
7.元素删除
8. ............
2.2:数组的描述
数组:放着相同类型的数据集合
应用场景比较多:例如班级的人名和成绩
[11,22,33,44]在内存中开辟了连续空间
配合循环使用
数组名称arr arr=(44,33,22,11)
数组元素:44 33 22 11
数组长度:arr有4个元素
数组下标:44下标是0,33下标是1,22下标是3,11下标是3,以此类推
for临时标量 in数组
do
done
2.3:数组定义方法 *=@
方法一
数组名=([0]=1 [1]=2 [2]=3 [3]=4)
方法二
列表名=“1 2 3 4"
数组名=($列表名)
方法三 替换某一个元素
数组名=([0]=1 [1]=2 [2]=3 [3]=4)
小练习
创建1-100数组
创建1-100奇数组
创建任意数字及长度,根据需求加入元素
获取数组长度和下标赋值