linux shell 数组定义数组,Linux shell编程:shell数组定义和操作详解

上一章Linux shell编程请查看:shell特殊变量介绍和使用

在本章中我们将讨论如何在Unix中使用shell数组。shell变量能够容纳单个值,些变量称为标量变量,shell支持另一种类型的变量称为数组变量。它可以同时保存多个值,数组提供了一种对一组变量进行分组的方法。

你可以使用存储所有其他变量的单个数组变量,而不是为每个需要的变量创建新名称,为Shell变量讨论的所有命名规则在命名数组时都是适用的。

1、定义数组

数组变量和标量变量之间的区别可以解释如下:假设你试图将不同学生的名字表示为一组变量,每个单独的变量都是一个标量变量如下所示:

NAME01="AAA"

NAME02="BBB"

NAME03="CCC"

NAME04="DDD"

NAME05="EEE"

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

array_name[index]=value

这里array_name是数组的名称,index是要设置的数组中项的索引,value是要为该项设置的值例如下面的命令:

NAME[0]="AAA"

NAME[1]="BBB"

NAME[2]="CCC"

NAME[3]="DDD"

NAME[4]="EEE"

如果你正在使用ksh

shell,以下是数组初始化的语法:

set -A array_name value1 value2 ... valuen

如果你使用的是bash

shell,以下是数组初始化的语法:

array_name=(value1 ... valuen)

2、访问数组元素

设置任何数组变量之后,按如下方式访问它:

${array_name[index]}

这里array_name是数组的名称,index是要访问的值的索引。下面是一个理解这个概念的示例:

#!/bin/bash

my_arr=(AAA BBB CCC)

echo ${my_arr[0]}

echo ${my_arr[1]}

echo ${my_arr[2]}

你可以通过以下方式之一访问数组中的所有项:

${array_name[*]}

${array_name[@]}

这里,array_name是你自定义的数组的名称,下面的例子将帮助你理解这个概念:

#!/bin/bash

my_arr=(AAA BBB CCC)

echo ${my_arr[0]}

echo ${my_arr[1]}

echo ${my_arr[2]}

echo "----------"

echo ${my_arr[*]}

echo ${my_arr[@]}

3、获取数组长度

获取数组长度的方法和获取字符串长度的方法是一样的,使用如下语法获取长度:

length=${#string_name}

length=${#array_name}

如下例子是获取字符串长度和数组:

#!/bin/bash

my_arr=(AAA BBB CCC)

echo ${my_arr[0]}

echo ${my_arr[1]}

str="once upon a time"

echo $str

echo "length of string: ${#str}"

echo "length of array: ${#my_arr}"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值