一、函数
1.函数的定义和格式
函数定义:封装的可重复利用的具有特定功能的代码
先定义函数,再调用函数,注意顺序
函数类似于命令的别名,别名一些简单的小命令
函数是某一个脚本的别名,有些脚本会重复使用
函数格式:在函数中如需调用函数,直接写函数名,同名函数后一个生效,调用函数一定要先定义,只要先定义了调用的其他函数定义顺序无关
2.函数的调用
查看当前操作系统:
函数备份yum线上源,创建yum本地源和清理缓存安装httpd:
3.函数的返回值
return表示退出函数并返回一个退出值,脚本中可以用$?变量表示该值
使用规则:函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码,退出状态码必须是0-255,超出时值将为除256取余数
解决大于255的方法:
4.函数传参
在shell中,调用函数时可以向其传递参数,在函数内部,通过$n的形式来获取参数的值,例如:$1表示第一个参数,$2表示第二个参数,即使用位置参数来实现参数传递
5.函数变量的作用范围
1.函数在shell脚本中仅在当前shell环境中有效
2.shell脚本中变量默认全局有效
3.将变量限定在函数内部使用local命令
shell脚本中变量默认全局有效:
将变量限定在函数内部使用local命令:
6.函数的递归
函数调用自己本身的函数
阶乘:
二、数组
1.数组基础
1.数组中可以存放多个值,Bash Shell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似)
2.与大部分编程语音类似,数组元素的下标由0开始
3.shell数组用括号来表示,元素用空格符号分隔开
4.在shell语句中,使用数据的时候,数组格式要写成${arr[@]}或${arr[*]}
2.数组的语法格式
1.数组名=(value1 value2 .... valuen)
arr_number=(1 2 3 4 5 6 7 8 9)
2.数组名=([0]=value0 [1]=value0 [2]=value0...)
arr_number=([0]=1 [1]=2 [2]=3 [3]=4)
3.列表名:"value1 value2 valueN..."
数组名=($列表名)
list_number="1 2 3 4 5 6"
arr_number=($list_number)
4.数组名[0]="value"
数组名[1]="value"
数组名[2]="value"
arr_number[0]=1
arr_number[1]=2
arr_number[2]=3
3.数组的数据类型
1.数值类型
2.字符类型
3.使用”“(双引号)或者’‘(单引号)定义
4.获取数组的长度
5.获取数组的数据列表
6.获取数组下标对应的值
7.数组的遍历
8.数组切片
9.数组替换
10.数组删除和指定下标的值删除
11.数组追加元素
直接使用下标进行元素追加:
使用+=进行追加:
查看所有数组:
注:普通数组的下标是数值,默认普通数组
关联数组的下标是有含义的字符,我要先声明我是关联数组下标中