📅  最后修改于: 2023-12-03 14:47:26.549000             🧑  作者: Mango
在 Shell 脚本中,数组是一种非常常见的数据类型,它可以在一个单独变量中存储多个值,这使得它成为了处理大量数据的重要工具。在这里,我们将介绍如何定义和操作 Shell 中的数组。
要定义一个 Shell 数组,需要使用如下语法:
array_name=(value1 value2 ... valuen)
其中,array_name
是数组的名称,value1
到 valuen
是需要存储在数组中的值。请注意,每个值都需要用空格分隔。例如:
my_array=(apple banana "cherry pie" date)
在这个例子中,我们定义了一个名为 my_array
的数组,并将 apple
、banana
、cherry pie
和 date
存储到数组中。
要获取数组中单个元素的值,需要使用如下语法:
${array_name[index]}
其中,array_name
是数组的名称,index
是需要获取值的元素下标。下标从 0 开始。例如:
echo ${my_array[0]} # 输出 "apple"
echo ${my_array[2]} # 输出 "cherry pie"
还可以使用 ${array_name[*]}
或 ${array_name[@]}
来获取整个数组的值,这两种方法完全相同。例如:
echo ${my_array[*]} # 输出 "apple banana cherry pie date"
echo ${my_array[@]} # 输出 "apple banana cherry pie date"
要获取数组的长度,需要使用如下语法:
${#array_name[@]}
其中,array_name
是需要获取长度的数组名称。例如:
echo ${#my_array[@]} # 输出 4
可以像修改普通变量一样修改数组中的元素的值。例如:
my_array[1]="orange"
echo ${my_array[1]} # 输出 "orange"
echo ${my_array[*]} # 输出 "apple orange cherry pie date"
要删除数组中的元素,可以使用 unset
命令。例如:
unset my_array[3] # 删除第四个元素
echo ${my_array[*]} # 输出 "apple orange date"
要循环遍历数组,可以使用 for
循环加上 ${array_name[@]}
的语法。例如:
for item in ${my_array[@]}
do
echo $item
done
这个循环将会逐个输出数组中的所有元素。
以上就是 Shell 脚本中的数组基础。如果您还没有开始使用数组,那么赶紧尝试一下吧!