shell语法--数组相关

shell定义一个数组

在 shell 中,可以使用以下语法来定义一个数组:

array_name=(item1 item2 item3 ...)

其中,array_name 是数组的名称,item1、item2、item3 等是数组中的元素,它们之间用空格分隔。例如,以下代码定义了一个名为 my_array 的数组,其中包含三个元素:

my_array=(apple banana orange)

您还可以使用以下语法向数组中添加新元素:

array_name+=(new_item)

例如,以下代码向 my_array 数组中添加了一个名为 pear 的新元素:

my_array+=(pear)

要访问数组中的元素,可以使用以下语法:

${array_name[index]}

其中,index 是元素的索引,从 0 开始计数。例如,以下代码将打印 apple:

echo ${my_array[0]}


shell遍历数组

在 shell 中,您可以使用不同的方法来遍历数组。以下是两种常见的方法:

使用 for 循环遍历数组:

bash 复制代码
my_array=(apple banana orange)

for item in ${my_array[@]}
do
  echo $item
done

上述代码将打印数组中的每个元素,输出如下:

bash 复制代码
apple
banana
orange

使用 C 风格的 for 循环来遍历数组:

bash 复制代码
my_array=(apple banana orange)

for (( i=0; i<${井号my_array[@]}; i++ ))
do
  echo ${my_array[i]}
done

# 需要将"井号"替换为#。 不然hexo生成报错

上述代码将使用索引遍历数组,并打印每个元素,输出如下:

bash 复制代码
apple
banana
orange

在第二种方法中,${井号my_array[@]} 返回数组中元素的个数,(( i=0; i<$井号my_array[@]}; i++ )) 设置了循环的起始值和终止值,并将变量 i 每次增加 1,直到循环结束。${my_array[i]} 返回索引 i 处的元素。

相关推荐
程序员老申8 分钟前
解剖 PDF 底层二进制:一行代码如何抓出假薪资流水的 3 处破绽
后端
JuiceFS27 分钟前
从 Meta 的工程实践看 EB 级 AI 存储架构
人工智能·后端
数据库小学妹31 分钟前
MySQL NULL陷阱:NOT IN、三值逻辑与NOT EXISTS
数据库·后端·mysql
AI入职记35 分钟前
10 万个会话吃掉 1.1G 内存:Spring AI 会话记忆的两个隐藏成本
后端
小兔子1 小时前
getenv 返回的是别人的内存,改一下会改变整个进程的环境
后端
程序员cxuan1 小时前
通了个宵,终于把 Super-Agent 架构玩明白了
人工智能·后端·程序员
不积跬步无以至千里mmbb261 小时前
rust_analysis
开发语言·后端·rust
代龙涛2 小时前
WordPress Query 查询机制详解(WP_Query)
开发语言·后端·php·wordpress
程序员cxuan2 小时前
不是,为啥这个模型突然就爆火了??
人工智能·后端·程序员
知守观2 小时前
技术考古:iBATIS 2.3.4 时代的持久层,是如何用 Map 玩转 307 个存储过程的?
java·后端·mybatis