当在Shell脚本中需要对多个值进行存储和操作时,可以使用数组。在Shell中数组需要先声明再使用。
数组的定义
通过在数组名前添加美元符号($),可以获取整个数组第一个元素的值;通过在花括号中添加下标,可以访问数组中特定位置的值。
等号赋值法
可以使用等号(=)将数组元素赋值给一个数组变量,采用空格分隔每个元素,一下是一个简单的示例:
fruits=(apple banana orange)
echo ${fruits[0]} # 输出:apple
echo ${fruits[1]} # 输出:banana
echo ${fruits[2]} # 输出:orange
传统索引
数组也可以通过传统索引的方式进行赋值和访问,同样是一个示例:
name[0]="Jack"
name[1]="Tom"
name[2]="John"
echo ${name[0]} # 输出:Jack
echo ${name[1]} # 输出:Tom
echo ${name[2]} # 输出:John
数组下表也可以使用算术表达式和变量的形式进行动态引用。
arr[2]="hello"
index=2
echo ${arr[index]} # 输出:hello
echo ${arr[$((index-1))]} # 输出: undefined,因为数组index-1下标位置没有设值
数组的操作
数组具有增加、删除、获取长度、遍历等操作,下面是一些示例。
增加元素
要向数组中添加一个元素,可以使用下标语法,并为该下标分配一个值。如果下标不在数组中,则将创建匹配的条目。
fruits[3]="mango"
echo ${fruits[@]} # 输出:apple banana orange mango
还可以使用+=运算符向数组中添加元素。
fruits+=(grape)
echo ${fruits[@]} # 输出:apple banana orange mango grape
删除元素
要从数组中删除一个元素,可以使用unset命令并指定数组元素的索引。
unset fruits[2]
echo ${fruits[@]} # 输出:apple banana mango grape
获取数组长度
想要获取数组的长度可以使用以下语法。
echo ${#fruits[@]} # 输出:4
遍历数组
在Shell中遍历数组可以使用for循环。
for fruit in ${fruits[@]}
do
echo ${fruit}
done
除了上述循环遍历方法,还可以使用C风格的for循环遍历数组。
for (( i=0; i<${#fruits[@]}; i++ ))
do
echo ${fruits[i]}
done
以上便是关于Shell中数组的定义及操作的攻略,相信通过这篇文章可以更好地掌握Shell中的数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shell中数组的定义及操作 - Python技术站