【Shell】数组
数组
bash 只支持一维数组。
数组下标从 0 开始,下标可以是整数或算术表达式,其值应大于或等于 0。
创建数组
# 创建数组的不同方式
nums=([2]=2 [0]=0 [1]=1)
colors=(red yellow "dark blue")
访问数组元素
访问数组的单个元素
echo ${nums[1]}
# Output: 1
访问数组的所有元素
echo ${colors[*]}
# Output: red yellow dark blue
echo ${colors[@]}
# Output: red yellow dark blue
访问数组的部分元素
echo ${nums[@]:0:2}
# Output:
# 0 1
访问数组长度
echo ${#nums[*]}
# Output:
# 3
向数组中添加元素
向数组中添加元素也非常简单:
colors=(white "${colors[@]}" green black)
echo ${colors[@]}
# Output:
# white red yellow dark blue green black
上面的例子中,${colors[@]}
扩展为整个数组,并被置换到复合赋值语句中,接着,对数组colors
的赋值覆盖了它原来的值。
从数组中删除元素
用unset
命令来从数组中删除一个元素:
unset nums[0]
echo ${nums[@]}
# Output:
# 1 2