一、什么是shell函数
将命令序列按格式卸载一起
可方便重复使用命令序列
shell函数定义
1、
[ function ]函数名(){
命令序列
[return x]
}
2、
函数名(){
命令序列
}
3、
function 函数名 {
...
}
使用return或exit可以显式地结束函数
调用函数的方法
函数名 [参数1] [参数2]
1、函数要调用必须要在脚本之前
2、在脚本中其他地方调用函数的情况下需要反引号 括起来
函数引用位置变量
local 变量赋值 不会影响到全局的变量
** 如果一个脚本里要调用其他脚本里的函数,需要在前面加上一行
source +脚本 **
调用一个函数返回值取决于函数中最后一个命令的成功与否
return 返回值
比如在这个函数中,调用这个函数返回值是10,因为它执行完第一个return之后不会执行下面的代码。
hello(){
echo hello
return 10
ls /etc
return 20
二、数组
数组定义方法
一、
数组名=(value0 value1 value2...)
二、
数组名= ([0]=value [1]=value [2]=value...)
三、
列表名=“value0 value1 value2....”
数组名= {$列表名}
四、
数组名[0]="value"
数组名[1]="value"
数据名[2]="value"
....
查看数组
declare -数组名
echo ${数组名[1]} 查看数组中第二个元素
echo ${数组名[*]} 输出数组中所有元素
echo ${#数组名[@]} 输出数组中有多少个元素
echo ${!数组名[@]} 查看数组中有多少下标
unset 数组名[4] 去掉数组中第四个元素
unset 数组名 去掉数组
echo ${a[*]:1:3} 取从第二个参数开始的三个参数
echo ${a[*]/5/15} 把数组中5号元素替换成15