1.函数基本概述
将命令序列按格式写在一起,可方便重复使用命令序列
Shell函数定义
[ function ] 函数名(){
命令序列
[return x] //使用return或exit可以显式地结束函数
}
调用函数的方法
函数名 [参数1][参数2]...
参数的表示方法:$1 $2 $3 ……${10} ${11}
函数的作用范围:
函数再shell脚本中仅在当前shell环境有效
shell脚本中变量默认为全局变量
若要定义仅在函数内部的局部变量时使用local+变量名
2.递归函数
调用自己本身的函数
示例
递归遍历目录
通过定义递归函数list_files来实现
#!/bin/bash
# 递归遍历目录list_files
function list_files(){
for f in `ls $1`
do
if [ -d "$1/$f" ];then
echo "$2$f"
#递归调用
list_files "$1/$f" " $2"
else
echo "$2$f"
fi
done
}
list_files "/var/log" ""
3.数组
应用场景包括:
获取数组长度
获取元素长度
遍历元素
元素切片 ===>某一个子部份
元素替换
元素删除
定义数组的方法:
数组名=(value0 value1 value2) #用空格