加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Unix - 使用Shell数组

发布时间:2022-10-25 17:31:17 所属栏目:Unix 来源:网络
导读: Unix - 使用Shell数组
在本章中,我们将探讨如何在Unix中使用shell数组。一个shell变量足以容纳一个值。这些变量称为标量变量。
Shell支持一种称为数组变量的不同类型的变量。这可以同时保

Unix - 使用Shell数组

在本章中,我们将探讨如何在Unix中使用shell数组。一个shell变量足以容纳一个值。这些变量称为标量变量。

Shell支持一种称为数组变量的不同类型的变量。这可以同时保存多个值。数组提供了对一组变量进行分组的方法。您可以使用单个数组变量来存储所有其他变量UNIX Shell数组,而不是为所需的每个变量创建一个新名称。

所有关于Shell变量探讨的命名规则都适用于命名数组。

定义数组值

数组变量和标量变量之间的区别可以解释如下。

假设您正在尝试将各种学生的名称作为一组变量来表示。每个变量都是一个标量变量,如下所示:

NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"

我们可以使用单个数组来存储上述所有的名称。以下是创建数组变量的最简单的方法。这有助于将值分配给其中一个索引。

array_name[index]=value

这里array_name是数组的名称,index是要设置的数组中的项目的索引,value是要为该项目设置的值。

作为示例,以下命令 -

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"

如果使用ksh shell,这里是数组初始化的语法 -

set -A array_name value1 value2 ... valuen

如果你使用的是bash shell,这里是数组初始化的语法 -

array_name = (value1 ... valuen)

访问数组值

设置任何数组变量后,可以按如下方式进行访问:

${array_name[index]}

这里array_name是数组的名称,index是要访问的值的索引。以下是了解概念的一个例子 -

#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Index: ${NAME[0]}"
echo "Second Index: ${NAME[1]}"

上面的例子将产生以下结果 -

$./test.sh
First Index: Zara
Second Index: Qadir

您可以通过以下方法之一访问数组中的所有项目:

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

这里array_name是您感兴趣的数组的名称。以下示例将帮助您了解概念 -

#!/bin/sh
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Method: ${NAME[*]}"
echo "Second Method: ${NAME[@]}"

上面的例子将产生以下结果 -

$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!