目录
函数
1.什么是函数
函数可以认为是脚本的别名,使用函数可以避免代码重复,增加可读性,简化脚本
2.函数使用方法
- 定义函数
- 在应用函数
基本格式
函数名 () {
脚本
}
注意事项:
- 函数中调用函数,直接写函数名
- 同名函数 后一个生效
- 调用函数一定要先定义
- 每个函数都是独立
3.函数变量的作用范围
加local 关键字 可以让变量只在函数中生效,不会影响外界环境
4.函数的返回值
- 如果使用函数那么($?)使用就会受限
- 可以使用return自定义 $? 的返回值,来判断函数的命令是否成功
- return值:1-255
5.函数的传参数
需要注意:
脚本的$1 $2 $3 和函数的$1 $2 $3是没有关系的,函数的$1 $2 $3是指跟在函数后面的值
6.使用函数文件
7.函数递归
数组
1.什么是数组
- 数组可以当作是数据的集合
数组的分类
- 普通数组:下标是数字
- 关联数组:下标是有含义的字符串
- 变量:储存单个元素的内存空间相当于多个变量的集合
2.数组的使用
先要声明数组
declare -a //普通数组(不需要手动声明,系统帮你声明了)
declare -A(大写) 数组名 //关联数组一定要手动声明
3.定义数组
格式:
//普通数组
数组名=(数组值,中间用空格隔开)
//关联数组
数组名[下标1]=值1
数组名[下标2]=值2
...............
数组名[下标n]=值n
例:
4.调用数组
格式:
//单个调用
echo ${a[0]}
echo ${a[1]} //普通数组默认下标从0开始
............
echo ${a[n]}
//全部调用
echo ${a[@]}
echo ${a[*]}
//显示数组的值的个数
echo ${#a[*]}
//显示所有下标
echo ${!a[*]}
//删除数组
unset 数组名 //将整个数组删除
unset a[0] //删除单个
例:
普通数组
关联数组
5.进阶冒泡排序