shell脚本-数组

shell脚本-数组

数组

	变量:存储单个元素的内存空间。
	数组:存储多个元素的连续的内存空间,相当于多个变量的集合。
	数组索引:编号从0开始,属于数值索引。索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引。

数组赋值

	数组元素的赋值:
		一次只赋值一个元素;
			ARRAY_NAME[INDEX]=VALUE
			weekdays[0]="Sunday"
			weekdays[4]="Thursday"
		一次赋值全部元素:
			ARRAY_NAME=("VAL1" "VAL2" "VAL3" ...)
		只赋值特定元素:
			ARRAY_NAME=([0]="VAL1" [3]="VAL2" ...)
		交互式数组值对赋值
			read -a ARRAY ;在一行输入
	显示所有数组:
		declare -a
	追加元素到数组
		ARRAY[${#ARRAY[*]}]=value

数组引用

	引用数组元素 :
		${ARRAY_NAME[INDEX]}
		注意:[INDEX] 表示引用下标为0的元素
	引用数组所有元素:
		${ARRAY_NAME[*]}
		${ARRAY_NAME[@]}
	数组中元素的个数:
		${#ARRAY_NAME[*]}
		${#ARRAY_NAME[@]}
	引用数组中的某些元素
		称为数组切片
		${ARRAY[@]:offset:number}  
			offset:  要跳过的元素个数
			number:  要取出的元素个数
		${ARRAY[@]:offset}  ##取偏移量之后的所有元素

删除数组

	删除数组中的某元素:
		导致稀疏格式
		unset ARRAY[INDEX]
	删除整个数组 :
		unset ARRAY

关联数组

	declare -A $ARRAY_NAME
	ARRAY_NAME=([idx_name1]='val1' [idx_name2]='val2‘...)
	idx_name为任意字符,数值,单词等等
	注意 :关联数组必须先声明再调用
posted @ 2018-02-07 00:22  shenxm  阅读(791)  评论(0编辑  收藏  举报