Shell 数组

1 基本使用

Shell数组可以包含多个元素。

主要使用步骤:1)数组变量初始化;2)读取元素;3)修改元素。

数组变量初始化

数组=(元素1 元素2 元素3 … 元素n)

各元素前后使用小括号;

各元素之间使用空格。

读取元素

${数组[下标]}

下标的访问格式与其它语言相同,${ }是变量访问形式,相当于两者结合了。

修改元素

数组[下标]=值

示例

arr1=("Linux" "Shell" "HTML" "CSS" "JavaScript")
echo "第1个元素:${arr1[0]}" 

arr1[0]="xiaobuteach.com linux"
echo "第1个元素:${arr1[0]}"

2 常用操作

常用操作说明

${arr[index]} 返回下标index对应的元素

${arr[*]}

返回所有元素。echo 所有元素时,会输出各元素字符串,元素之间空隔隔开; for in所有元素时,循环变量表示元素。

${arr[@]} 同上

${#arr[*]} 返回数组元素的个数(数组长度)

${#arr[@]} 同上

${!arr[*]} 返回数组的所有下标

${!arr[@]} 同上

${#arr[index]} 返回下标index对应的元素的字符串的字符个数

示例

arr1=("xiaobuteach.com" "Linux" "Shell" "HTML" "CSS" "JavaScript")
 
a=${arr1[0]}
echo "第1个元素:${arr1[0]}"
 
b1=${arr1[*]}
echo "所有元素连接成一个字符串:$b1"
b2=${arr1[@]}
echo "所有元素连接成一个字符串2:$b2"
 
c1=${#arr1[*]}
echo "元数个数(数组长度):$c1"
c2=${#arr1[@]}
echo "元数个数(数组长度)2:$c2"
 
d1=${!arr1[*]}
echo "所有元素的下标:$d1"
d2=${!arr1[@]}
echo "所有元素的下标2:$d2"
 
f=${#arr1[0]}
echo "第1个元素的字符个数:$f"

img