Linux shell 编程:数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux shell 编程:数组相关的知识,希望对你有一定的参考价值。

数组

数组是有序的元素序列 。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。

在shell中数组有两种类型:

  • 索引数组(indexed arrays)
  • 关联数组(associative arrays)

索引数组(indexed arrays)

索引数组使用数字作为下标,下标默认从0开始。

关联数组(associative arrays)

关联数组是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。

  • 数组声明
# 关联数组声明必须使用declare -A 方式,否则shell会将其认为是索引数组
[email protected]:~# declare -A info # 定义一个管理数组
[email protected]:~# info[‘name‘]=‘raojinlin‘ # 插入name键,赋值
[email protected]:~# info[‘age‘]=21
[email protected]:~# info[‘obj‘]=‘ops‘
[email protected]:~# echo ${info[@]} # 获取数组
raojinlin 21 ops
[email protected]:~# 

数组操作

# 语法:${#数组[@|*]}
[email protected]:~# echo ${#array[*]}
9
[email protected]:~# 
  • 获取数组下标(键)
# 语法:${!数组[@|*]}
[email protected]:~# echo ${!info[@]}
name age obj
[email protected]:~# 
  • 数组遍历

使用for循环可以遍历数组

[email protected]:~# for var in ${info[@]};do echo $var;done
raojinlin
21
ops
[email protected]:~# 

以上是关于Linux shell 编程:数组的主要内容,如果未能解决你的问题,请参考以下文章

linux之Shell编程--Shell数组实例演示

Linux shell 编程:数组

[Linux脚本]Shell脚本编程

[Linux脚本]Shell脚本编程

linux12shell编程 --> 数组

linux12shell编程 -- >基本数据类型