目录
一、Shell函数
Shell函数也是我们经常用到的,因为有一些命令序列是需要反复调试的,若每次使用同一命令就重复写一遍,就会导致代码量大,行数特别多。为解决该问题可以将命令序列放在一起,以便可以重复使用。
1.函数的基本格式
[function] 函数名 () { #规范写法
命令序列
}
或者
函数名 () { #简洁写法
命令序列
}
2.Shell函数的含义
函数定义完之后并不会自动执行,需要调用才行,好处在于可以写一段功能代码作为函数,有需要就直接调用定义的时候哪怕出现语法错误也没关系,不调用就不会报错。
当然我们写函数最终目的还是为了调用,为了实现某个功能块。
3.Shell函数的示例
renturn在shell函数里的应用
演示一个数字阶乘
二、Shell数组
1.应用场景
获取数组长度、获取元素长度、遍历元素、元素切片、元素替换、元素删除
2.数组定义
数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用
3.数组的分类
普通数组:不需要声明直接定义,下标索引只能是整数
关联数组:需要用declare -A声明否则系统不识别,索引可以是字符串
4.数组的定义方式
数组 (10 20 30 40 50)
位置 0 1 2 3 4
第一种:直接把要加入数组的元素用小括号括起来,中间用空格分开
num=(11 22 33 44)
${ #num}显示宁符串长度
数组名=(valueo value1 value2)
第二种:精确的给每一个下标索引定义一个值加入数组,索引数字可以不连续
num=([0]=55 [1]=66 [2]=77 [4]=88)
数组名=( [0]=value [1]=value [2]=value. . .)
第三种:先把要加入数组的元素全部先赋值给一个变量,然后引用这个变量加入到数组
list=“11 12 13 14”
num=($list)
列表名=valueo valuel value2. ..."
数组名=($列表名)
第四种根据下标定义
数组名[0]="11"
数组名[0]="22"
数组名[0]="33"
数组名[0]="value"
数组名[1]="value"
数组名[2]="value"