Shell 数组
Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小,下标由 0 开始 。
[TOC]
定义
array_name=(value0 value1 value2 value3)
# 或
array_name=(
value0
value1
value2
value3
)
# 或
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
# 或
array_name=([2]=value0 [3]=value1 [7]=value2)
可以不使用连续的下标,而且下标的范围没有限制。
读取
获取单个
# ${数组名[下标]}
echo ${array_name[2]}
获取所有
# ${数组名[*]}
# ${数组名[@]}
echo ${array_name[@]}
数组长度
# ${#数组名[@/*]}
echo ${#array_name[@]}
提取
和字符提取相似。
a=(1 2 3 4 5)
# ${变量[@]:起始下标:长度}
echo ${a[*]:2:2}
# 3 4
替换
和字符替换相似。
a=(1 2 3 4 5)
# ${变量名[@/*]/原始字符/替换字符}
echo ${a[@]/3/5}
# 1 2 5 4 5
Last updated
Was this helpful?