SHELL训练营--day8__shell函数和数组
2018-12-28 00:19
645 查看
函数
shell 中,将实现特定功能的代码组合起来,即为函数体。
函数格式如下:
[ function ] funname [()] { action; [return int;] }
注意函数定义:
1.function 和(),在函数定义时,至少要保留一个。
2.函数返回,可以使用return 返回。如无返回 ,则以最后一个命令运行结果返回。
3.函数返回:return后跟数值n(0-255).
4.在函数外,获取函数返回值,需要在调用该函数后立刻通过 $? 来获得。
5.函数调用方法:直接使用函数名。
6.函数在使用前需要先定义。即函数体,一般都在shell脚本最前方。
- 函数参数
函数参数主要是通过位置变量获取。
位置变量:$0
表示函数名,$n
表示第n个参数。$#
表示参数个数。
其它参数:$*
将所有参数以一串字符形式展示,以空格为分隔符。$$
表示 脚本 运行时,脚本 的进程号。
数组
shell 只支持一维数组。数组,多个变量组合起来存放。
数组中变量获取,通过数组下标获取。
数组下标,以0开始,按1递增。
- 数组定义
array_name=(value1, ... valuen)
-
显示数组成员
所有成员:
echo ${a[@]}
或是:echo ${a[*]}
显示第0个成员:echo ${a[0]}
获取成员个数:echo ${#a[@]}
取成串成员:echo ${a[@]:start_pos:count_number}
需要注意的是,start_pos指定位置,可以从前向后指,也可指定后面固定位置。
如:start_pos为 0-3,即为 倒数第三个位置。
count_number为需要取的成员个数。 -
成员赋值
单个成员赋值:
a[post]=value; echo ${a[post]}
.
需要注意,如果赋值的下标不存在。默认数组个数会增加到新加下标位置。其它中间不存在的下标值默认为空。如a=(0,1,2); a[4]=4;echo ${a[3]};echo ${a[4]}
数组仅显示时,修改数组成员值。不修改存储值:如echo ${a[@]:/2/3} ; # 表示 显示数组a,并将下标为2的成员值显示为3.
- 删除数组
数组也是一个变量。删除该变量即可。如:
a=(1,2); unset a;
删除数组某个成员:unset a[post]
.
相关文章推荐
- 4、Shell函数,Shell数组,变量替换
- shell训练营 Day8
- shell 数组
- Shell脚本攻略05-数组和关联数组
- shell awk转成数组
- Shell通过特定字符把字符串分割成数组
- Shell 数组元素个数${#array[@]} 数组的所有元素${array[*]} 字符串长度${#str}
- shell切分字符串到数组
- shell--2.shell数组
- Shell学习: 数组、关联数组和别名使用
- SHELL训练营--day2
- shell训练营Day4
- Shell实战训练营Day7
- shell中的函数(function)、数组、告警系统分析
- shell数组
- 【shell】 shell 数组
- Shell动态生成数组的多种方法
- Linux/UNIX不同shell环境下数组的处理
- shell脚本 关联数组的使用
- [Shell学习笔记] 数组、关联数组和别名使用