📜  Unix Linux-使用Shell数组(1)

📅  最后修改于: 2023-12-03 14:48:13.329000             🧑  作者: Mango

Unix/Linux- 使用Shell数组

在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[@]}引用整个数组。