shell函数和数组

一、函数

1、函数使用方法

  1. 定义函数

  2. 再引用函数

  3. 查看系统限制所有函数:declare -F

  4. 看函数定义详细内容:declare -f  函数名  

  5. 删除函数:unset 函数名

 

2、注意事项

  1. 直接写 函数中调用函数 直接写函数名

  2. 同名函数 后一个生效

  3. 调用函数一定要先定义

  4. 只要先定义了调用的 其他函数定义顺序无关

 

3、定义函数基本格式
①function 函数名 () {

函数内容

}

 

②function 函数名 {

函数内容

}

 

③函数名 () {

函数内容

}

 

4、函数变量
①函数中的变量默认为全局生效,若想要限制函数中的变量只在本函数中生效则在定义变量时使用local 变量名=变量值的格式。

 

5、退出函数
①exit退出函数,脚本中使用exit退出函数时直接退出整个脚本,脚本后续内容不再执行。

②return退出函数,脚本使用return退出函数时只退出函数,不影响脚本后续内容执行。

 

 

 

二、shell数组
1、数组分类
①关联数组:必须声明才可以使用,命令:delare -A 数组名

②普通数组:利用数字下标节约变量,可以不声明也可以声明,命令:delare -a 数组名

delare -a命令也可查看有哪些普通数组

2、定义数组方法

①普通数组

数组名=(vlaue0 vlaue1 vlaue2 ...)

[root@pc1 ~]#a=(10 20 30) #定义数组a,值为10 20 30
[root@pc1 ~]#echo ${a[0]} #输出数组a下标为0的元素
10
[root@pc1 ~]#echo ${a[@]} #输出数组a中所有的元素
10 20 30
[root@pc1 ~]#echo ${a[*]} #输出数组a中所有的元素
10 20 30
[root@pc1 ~]#echo ${#a[@]} #输出数组a中元素的个数
3
[root@pc1 ~]#echo ${!a[@]} #输出数组a中元素的下标
0 1 2
[root@pc1 ~]#a[0]=100 #重新定义数组a下标为0的元素为100
[root@pc1 ~]#echo ${a[0]} #输出数组a中下标为0的元素
100

  

②关联数组定义

delare -A 数组名 #声明数组
数组名[下标]=元素 #定义关联数组

[root@pc1 ~]#declare -A f #声明关联数组f
[root@pc1 ~]#f[name]=pc1 #定义关联数组f下标name的元素为pc1
[root@pc1 ~]#f[ip]=10.0.0.0 #定义关联数组f下标ip的元素为10.0.0.0
[root@pc1 ~]#echo ${f[@]} #输出关联数组f的所有元素值
pc1 10.0.0.0
[root@pc1 ~]#echo ${!f[@]} #输出关联数组f中元素的所有下标
name ip

  

 

posted @ 2023-02-05 09:41  twistfate123  阅读(11)  评论(0编辑  收藏  举报