Shell 数组是一种有用的数据结构,它允许你存储多个值。在 Bash Shell 中,你只能使用一维数组,而且数组的下标从 0 开始。数组的元素可以是任何类型的数据,包括字符串和数字,它们之间通常用空格分隔。
如何定义 Shell 数组
你可以通过两种方式定义 Shell 数组:
使用括号和空格分隔的值:
array_name=(value1 value2 ... valuen)
例如:
my_array=(A B "C" D)
使用下标和等号赋值:
array_name[0]=value0 array_name[1]=value1 array_name[2]=value2
例如:
my_array[0]=A my_array[1]=B my_array[2]="C" my_array[3]=D
如何访问 Shell 数组元素
你可以通过下标来访问数组中的元素,例如:
echo ${my_array[0]}
这将输出数组 my_array
的第一个元素,即 A
。
如何遍历 Shell 数组
你可以使用 for 循环来遍历数组中的所有元素:
for i in "${my_array[@]}"; do
echo $i
done
这将依次输出数组 my_array
中的每个元素。
脚本应用实例
下面是一个 Shell 脚本的例子,它定义了一个数组,并使用 for 循环遍历数组中的每个元素:
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
# 定义数组
my_array=(A B "C" D)
# 输出数组中的每个元素
echo "数组中的元素:"
for i in "${my_array[@]}"; do
echo $i
done
# 也可以使用下标遍历数组
echo "使用下标遍历数组:"
for ((i=0; i<${#my_array[@]}; i++)); do
echo "${my_array[$i]}"
done