Shell脚本 ——Array 数组

Shell脚本 ——Array 数组


基本介绍: 在Shell脚本中,数组是存储多个值的有效方式。数组可以通过索引来访问和操作每个元素。


数组定义:
1、使用显式赋值来定义数组

array_name=(value1 value2 value3)

示例:

fruits=("apple" "banana" "cherry")

2、使用 declare 命令定义数组

declare -a array_name

示例:

declare -a fruits
fruits=("apple" "banana" "cherry")

数组元素的访问: fruits=(“apple” “banana” “cherry”)
1、访问单个元素

${array_name[index]}

示例:

echo ${fruits[0]}  # 输出:apple
echo ${fruits[1]}  # 输出:banana

2、访问整个数组

${array_name[@]}
${array_name[*]}

示例:

echo ${fruits[@]}  # 输出:apple banana cherry
echo ${fruits[*]}  # 输出:apple banana cherry

数组元素的修改: fruits=(“apple” “banana” “cherry”)
1、修改单个元素

array_name[index]=new_value

示例:

fruits[1]="blueberry"
echo ${fruits[@]}  # 输出:apple blueberry cherry

2、添加新元素

array_name[index]=value

示例:

fruits[3]="date"
echo ${fruits[@]}  # 输出:apple blueberry cherry date

删除数组元素: fruits=(“apple” “banana” “cherry”)
1、删除单个元素

unset array_name[index]

示例:

unset fruits[1]
echo ${fruits[@]}  # 输出:apple cherry date

2、删除整个数组

unset array_name

示例:

unset fruits

获取数组长度:
1、获取数组元素的个数

${#array_name[@]}

示例:

echo ${#fruits[@]}  # 输出:3

2、获取单个元素的长度

${#array_name[index]}

示例:

echo ${#fruits[0]}  # 输出:5 (apple 的长度)

遍历数组: fruits=(“apple” “blueberry” “banana” “cherry”)
1、使用 for 循环遍历数组

for element in "${array_name[@]}"; do
  # 处理每个元素
  echo $element
done

示例:

for fruit in "${fruits[@]}"; do
  echo $fruit
done
# 输出:
# apple
# blueberry
# cherry
# date

2、使用索引遍历数组

for index in "${!array_name[@]}"; do
  # 处理每个元素的索引
  echo "${fruits[$index]}"
done

示例:

for index in "${!fruits[@]}"; do
  echo "Index: $index, Value: ${fruits[$index]}"
done
# 输出:
# Index: 0, Value: apple
# Index: 1, Value: blueberry
# Index: 2, Value: cherry
# Index: 3, Value: date

多维数组: Shell脚本中不支持真正的多维数组,但可以通过使用关联数组或嵌套数组的方法来模拟多维数组。


模拟多维数组:

matrix=(
  [0,0]=1 [0,1]=2 [0,2]=3
  [1,0]=4 [1,1]=5 [1,2]=6
  [2,0]=7 [2,1]=8 [2,2]=9
)
echo ${matrix[0,0]}  # 输出:1
echo ${matrix[1,1]}  # 输出:5
echo ${matrix[2,2]}  # 输出:9

关联数组: Bash 4及以上版本支持关联数组,可以使用字符串作为数组的键。
1、定义关联数组

declare -A array_name

示例:

declare -A colors
colors=(
  ["red"]="#FF0000"
  ["green"]="#00FF00"
  ["blue"]="#0000FF"
)

2、访问关联数组

${array_name[key]}

示例:

echo ${colors["red"]}  # 输出:#FF0000
echo ${colors["green"]}  # 输出:#00FF00

 更多内容请参考 Shell 脚本专栏。
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Darrich

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值