Linux shell - array
May 30, 2024About 1 min
数组是能够存储多个值的变量。这些值既可以单独引用,也可以作为整体引用。要为某个环境变量设置多个值,可以把值放在圆括号中,值与值之间以空格分隔:
myArr=(zero one two three four)
也可以使用 declare 声明一个数组,-a 选项是普通数组,-A 选项是关联数组:
declare -a myArr
declare -A myObj
要引用单个数组元素,必须使用表示其在数组中位置的索引。索引要写在方括号中,$符号之后的所有内容都要放入花括号中:
echo ${myArr[2]}
要显示整个数组变量,可以用通配符*或@作为索引:
echo ${myArr[*]}
echo ${myArr[@]}
也可以改变某个索引位置上的值:
myArr[2]=2
甚至能用 unset 命令来删除数组中的某个值,但这样只会讲值设置为空,不会减少数组长度。
unset myArr[2]
可以向数组中添加元素,需要用大括号包围添加的元素:
myArr+=(five six seven)
获取数组长度
echo ${#myArr[@]}
遍历数组:
for n in ${myArr[@]};do echo $n;done
关联数组可以按 key-value 的形式赋值:
declare -A myObj
myObj[name]=roger
myObj[age]=18
访问关联数组:
echo ${myObj[name]}
echo ${myObj[age]}