Linux Shell 数组

本文介绍shell中数组的使用方式,包括创建数组、获取元素、增加元素、替换元素、获取元素个数、删除元素、遍历数组等操作。
文中source ./publicFunctions.sh 中是个人总结的部分函数
splitLine = 指的是打印50个= 作为分隔行

代码

#!/bin/bash

source ./publicFunctions.sh

splitLine =
# 创建数组,使用空格间隔元素
array_a=(2 3 4 5)
echo "当前数组:"${array_a[*]}
splitLine =
# 获取数组元素,下标从0开始
echo "数组内第二个元素是:"${array_a[1]}
splitLine =
# 增加元素
echo "向数组内增加元素9,如果使用现有下标,
      会替换当前值,使用大于数组大小的下标
      ,会增加元素:"
array_a[4]=9
echo "当前数组:"${array_a[@]}
splitLine =
# 替换元素
array_a[1]=8
echo "当前数组:"${array_a[@]}
splitLine =
# 获取元素个数,在数组名前加丼号:#
echo "当前数组个数:"${#array_a[@]}
splitLine =
# 删除元素
echo "删除第三个元素:4"
unset array_a[2]
echo "获取当前第三个元素,会发现当前元素值是空:"${array_a[2]}
echo "当前数组个数,删除元素后,数组大小变小:"${#array_a[@]}
splitLine =
# 遍历数组
echo "遍历数组:"
for ele in ${array_a[@]}
do
  echo "当前元素:"${ele}
done

splitLine =
# 删除完数组元素后,可见通过#得到的数组个数与实际的数组内容不符,
# 因为在统计数组个数的时候,空元素不计入内,所以需要重新获取最新
# 数组内容
array_a_new=()
array_a_new_len=0
for ele in ${array_a[@]}
do
  array_a_new[${array_a_new_len}]=${ele}
  array_a_new_len=$((${array_a_new_len}+1))
done
echo "当前数组:"${array_a_new[@]}

结果

==================================================
当前数组:2 3 4 5
==================================================
数组内第二个元素是:3
==================================================
向数组内增加元素9,如果使用现有下标,
      会替换当前值,使用大于数组大小的下标
      ,会增加元素:
当前数组:2 3 4 5 9
==================================================
当前数组:2 8 4 5 9
==================================================
当前数组个数:5
==================================================
删除第三个元素:4
获取当前第三个元素,会发现当前元素值是空:
当前数组个数,删除元素后,数组大小变小:4
==================================================
遍历数组:
当前元素:2
当前元素:8
当前元素:5
当前元素:9
==================================================
当前数组:2 8 5 9

参考:
http://c.biancheng.net/view/810.html
http://c.biancheng.net/view/812.html
http://c.biancheng.net/view/818.html
http://c.biancheng.net/view/819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值