第五章 Shell函数与数组
5.1 函数
格式:
func(){command}
示例1:
#!/bin/bashfunc(){echo"Thisisafunction."}func#bashtest.shThisisafunction.
Shell函数很简单,函数名后跟双括号,再跟双大括号。通过函数名直接调用,不加小括号。
示例2:函数返回值
#!/bin/bashfunc(){VAR=$((1+1))return$VARecho"Thisisafunction."}funcecho$?#bashtest.sh2
return在函数中是定义状态返回值,返回并终止函数,但返回的只能是数字,类似于exit 0。
示例3:函数传参
#!/bin/bashfunc(){echo"Hello$1"}funcworld#bashtest.shHelloworld
通过Shell位置参数给函数传参。
博客地址:http://lizhenliang.blog.51cto.com
QQ群:Shell/Python运维开发群 323779636
5.2 数组
数组是相同类型的元素按一定顺序排列的集合。
格式:
array=(元素1 元素2 元素3 ...)
用小括号初始化数组,元素之间用空格分隔。
定义方法1:初始化数组array=(abc)定义方法2:新建数组并添加元素array[下标]=元素定义方法3:将命令输出作为数组元素array=($(command))
数组操作:
获取所有元素#echo${array[*]}#*和@都是代表所有元素abc获取数组长度#echo${#array[*]}3获取第一个元素#echo${array[0]}a获取第二个元素#echo${array[1]}b获取第三个元素#echo${array[2]}c添加元素#array[3]=d#echo${array[*]}abcd添加多个元素#array+=(efg)#echo${array[*]}abcdefg删除a元素#unsetarray[a]#用名字删除会保留元素下标#echo${array[*]}bcdefg删除第一个元素#unsetarray[1]#echo${array[*]}cdefg
数组下标是以0开始。
示例1:讲seq生成的数字序列循环放到数组里面
#!/bin/bashforiin$(seq110);doarray[a]=$ileta++doneecho${array[*]}#bashtest.sh12345678910删除数组#unsetarray
示例2:遍历数组元素
#!/bin/bashIP=(192.168.1.1192.168.1.2192.168.1.3)for((i=0;i<${#IP[*]};i++));doecho${IP[$i]}done#bashtest.sh192.168.1.1192.168.1.2192.168.1.3
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。