数组
定义,新增,修改,删除,遍历,取值,长度,连接
#!/bin/bash
########################################
# 定义
########################################
# 方式 1
declare -a names_a
names_a[0]=Tom
names_a[1]=Jack
names_a[2]=Jerry
# 方式 2
declare -a names_b=(Tom Jack)
names_b[2]=Jerry
# 方式 3
names_c=(Tom Jack Jerry)
########################################
# 新增或修改
########################################
names_c[2]=Pett # 数组没有对应的下标索引,则为新增
names_c[3]=Mary # 数组有对应的下标索引,则为修改
########################################
# 取值
########################################
echo ${names_a[0]} # Tom
echo ${names_a[1]} # Jack
echo ${names_a[2]} # Jerry
echo ${names_a[@]} # Tom Jack Jerry
echo ${names_a[*]} # Tom Jack Jerry
echo ${names_a} # Tom,等价于 echo ${names_a[0]}
########################################
# 长度
########################################
echo ${#names_a[@]} # 3
echo ${#names_a[*]} # 3
########################################
# 遍历
########################################
echo "for loop names_a"
for name in ${names_a[@]}
do
echo $name
done
echo "for loop names_b"
for name in ${names_b[*]}
do
echo $name
done
echo "for loop names_c" # 带索引的遍历
for idx in ${!names_c[@]}
do
echo "${idx}: ${names_c[$idx]}"
done
########################################
# 删除
########################################
unset names_a[0] # 删除数组指定索引位置的元素
echo ${names_a[@]}
unset names_a # 删除数组
echo ${names_a[@]}
########################################
# 连接
########################################
names_d=(${names_b[@]} ${names_c[@]})
echo ${#names_d[@]}
echo ${names_d[@]}
网友评论