📅  最后修改于: 2023-12-03 14:48:13.329000             🧑  作者: Mango
在Unix/Linux的shell编程中,数组是一个非常有用的工具,它可以用来存储多个值,并在使用时进行引用。
在shell中声明数组非常简单,只需要在变量名前加上一个美元符号,并在变量名后面用一对括号来表示数组。
例如:
arr=(1 2 3 4 5)
这将声明一个名为arr的数组,并将1、2、3、4和5存储到该数组中。
要引用数组元素,需要在变量名后面附加一个方括号,然后指定元素的索引。
例如:
echo ${arr[0]} # 输出 1
echo ${arr[3]} # 输出 4
在shell中获取数组长度的方法不像其他编程语言那么直接,需要借助一些其他的语法来实现。
可以使用以下命令来获取数组的长度:
echo ${#arr[@]} # 输出 5
echo ${#arr[*]} # 输出 5
echo ${#arr[2]} # 输出 1
第一和第二行命令都将输出arr数组的元素数,第三行命令将输出arr[2]元素的长度。
在shell中遍历数组也非常简单,有两种方法可以实现。
第一种方法:
for i in ${arr[@]}
do
echo $i
done
第二种方法:
for ((i=0;i<${#arr[@]};i++))
do
echo ${arr[i]}
done
需要修改数组元素时,只需要对该元素重新赋值即可。
例如:
arr[2]=7
echo ${arr[2]} # 输出 7
如果需要删除数组中的元素,可以使用unset命令。
例如:
unset arr[2]
echo ${arr[@]} # 输出 1 2 4 5
使用unset命令将数组中的索引为2的元素删除,然后使用${arr[@]}引用整个数组。