shell数组的用法-创新互联
变量:存储单个元素的内存空间:
数组(多个连续的内存空间):存储多个元素的连续的内存空间:
数组名:
索引:编号从0开始,属于数值索引;
注意:索引也可支持使用自定义的格式,而不仅仅是数值格式:
bash的数组支持稀疏格式
引用数组中元素:${ARRAY_NAME[INDEX]}
声明数组:
declare -a ARRAY_NAME
declare -A ARRAY_NAME:关联数组:kv
数组元素的赋值:
(1)一次只赋值一个元素:
ARRAY_NAME[INDEX]=VALUE
#weekdays[0]=”Sunday”
#weekdays[4]=”Thursday”
(2)一次赋值全部元素:
ARRAY_NAME=(“VAL1”,”VAL2”,”VAL3”,...)
(3)只赋值特定元素:
ARRAY_NAME=([0]=”VAL1” [3]=”VAL2” ...)
(4)read -a ARRAY
引用数组中的某个元素:
${ARRAY_NAME[INDEX]}
注意:省略[INDEX]表示引用下标为0的元素
显示数组中所有元素:
${ARRAY_NAME[*]},或者${ARRAY_NAME[@]}
统计数组的长度(数组中元素的个数):
${#ARRAY_NAME[*]},${#ARRAY_NAME[@]}
引用数组中的元素:
依次取出数组中所有元素:${ARRAY[@]}或者${ARRAY[*]}
数组切片:
取出数组中指定长度的元素:${ARRAY[@]:offset:number}:也叫做数组切片
offset:要跳过的元素个数
number:要取出的元素个数
例 :#echo ${weekdays[@]:1:2}
取出偏移量之后的所有元素:${ARRAY[@]:offset}
#echo ${weekdays[@]:1}
向数组中追加元素:
ARRAY[${#ARRAY[*]}]
删除数组中的某元素:
unset ARRAY[INDEX]
关联数组:
declare -A ARRAY_NAME
ARRAY_NAME=([index_name]=’val1’ [index_name2=’val2’ ...])
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:shell数组的用法-创新互联
本文网址:http://scyanting.com/article/ihhjg.html