bash数组的用法

一、单纯数组

#!/usr/bin/env bash

#1、定义一个空数组
my_array=()

#2、增。使用 `+=` 运算符将元素添加到数组的末尾
my_array+=("value1")
my_array+=("value2")
my_array+=("value3")

#3、增。还可以使用一行的方式一次性添加多个元素到数组
my_array+=("value4" "value5" "value6")


#4、读。读取数组
echo ${my_array[1]}    # 输出:value2
echo ${my_array[*]}    # 输出:value1 value2 value3 value4 value5 value6
echo ${my_array[5]}    # 输出:value6

#5、读。使用 '#' 可以获取数组的长度
length=${#my_array[@]}
echo $length  # 输出:6


#6、读。使用 for 循环遍历数组元素并输出
for i in ${my_array[@]}; do
  echo $i
done

echo '-----------分割线1--------------'

#7、 读。可以使用 ':' 来定义数组的切片范围
slice=("${my_array[@]:2:4}")  # 获取从第3个开始切,切出来4个
echo "${slice[@]}"  # 输出:value3 value4 value5 value6

echo '-----------分割线2--------------'
#8、 删。使用 unset 命令删除指定索引上的元素
unset my_array[1]
echo ${my_array[*]}    # 输出:value1 value3 value4 value5 value6

echo '-----------分割线3--------------'
#9、改。将数组的第一个元素值改成hello world
my_array[0]="hello world"
echo "${my_array[*]} 长度:${#my_array[@]}"    # 输出:hello world value3 value4 value5 value6 长度:5
echo ${my_array[0]}    # 输出:hello world。 注意bash不会用空格来区分每个元素,只是显示的时候看起来好像是用空格区分每个元素

二、key & value 型数组

#!/usr/bin/env bash


# 定义一个关联数组
declare -A my_assoc_array
my_assoc_array["mykey1"]="value1"
my_assoc_array["key2"]="value2"
my_assoc_array["key3"]="value3"

echo ${my_assoc_array[@]}  #输出:value1 value3 value2
echo '--------'
# 修改关联数组中的元素
my_assoc_array["key2"]="new_value"

# 遍历关联数组,检查元素是否修改
for key in "${!my_assoc_array[@]}"; do
  echo "$key: ${my_assoc_array[$key]}"
done
#输出:
# mykey1: value1
# key3: value3
# key2: new_value


echo '--------'
echo ${my_assoc_array['key3']}  #输出:value3
# 注意不能使用索引来读取数据


echo '--------'
unset my_assoc_array["mykey1"]
echo ${my_assoc_array[@]}   #输出:value3 new_value

相关推荐

  1. bash

    2023-12-20 07:34:04       41 阅读
  2. 2.PHP

    2023-12-20 07:34:04       33 阅读
  3. vector基本(可变长

    2023-12-20 07:34:04       26 阅读
  4. js 方法

    2023-12-20 07:34:04       8 阅读
  5. 方法

    2023-12-20 07:34:04       8 阅读
  6. 【前端】处理函数

    2023-12-20 07:34:04       14 阅读
  7. Git 开源版本控制系统-02-base usage 基本

    2023-12-20 07:34:04       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-20 07:34:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-20 07:34:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-20 07:34:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-20 07:34:04       20 阅读

热门阅读

  1. Python装饰器

    2023-12-20 07:34:04       38 阅读
  2. 正则表达式

    2023-12-20 07:34:04       46 阅读
  3. 4-Docker命令之docker volume

    2023-12-20 07:34:04       50 阅读
  4. 实战:使用Spring Boot监控SQL执行

    2023-12-20 07:34:04       39 阅读
  5. 黑豹程序员-安装docker-ce

    2023-12-20 07:34:04       35 阅读
  6. Jupyter的简单实用

    2023-12-20 07:34:04       38 阅读
  7. 论文笔记 | ICLR 2023 WikiWhy:回答和解释因果问题

    2023-12-20 07:34:04       51 阅读
  8. hadoop完全分布式搭建

    2023-12-20 07:34:04       26 阅读
  9. 第十六章 爬虫scrapy登录与中间件

    2023-12-20 07:34:04       31 阅读