您的位置:首页 > 运维架构 > Shell

shell学习整理(6)-数组和关联数组

2017-10-16 17:06 232 查看
数组即借助索引将多个独立的数据存储为一个集合,一般数组使用整数做为数组的索引,bash也支持关联数组,可以使用字符串做为数组索引。

1. 可以使用一列值来定义一组数组

$ array_var=(1 2 3 4 5 6 )

$ echo $array_var

1

$ echo ${array_var[2]}

3

2. 将数组定义成一组 索引-值

$ array1_var[0]="test1"

$ array1_var[1]="test2"

$ array1_var[2]="test3"

$ array1_var[3]="test4"

$ array1_var[4]="test5"

$ array1_var[5]="test6"

3. 打印特定索引数组元素内容echo ${数组[索引]}

$ echo ${array1_var[0]}

test1

index=5

echo ${array_var[$index]}

test6

4. 以清单形式打印出数组所有值echo ${数组[*]}

$ echo ${array1_var[*]}

test1 test2 test3 test4 test5 test6

5. 打印数组长度echo ${#数组[*]}

$ echo ${#array1_var[*]}

6. 在关联数组中,我们可以用任意的文本作为数组索引。首先,需要使用声明语句将一个变量

名声明为关联数组,然后使用进行赋值

$ declare -A fruits_value     //将fruits_value声明为关联数组

$ $ fruits_value=([apple]='100dollars' [orange]='150 dollars')   为数组一一赋值,利用内嵌“索引 - 值”列表的方法,提供一个“索引 - 值”列表

$ echo "Apple costs ${fruits_value[apple]}"   读取fruits_value[apple]的值

Apple costs 100dollars

$ echo "Orange costs ${fruits_value[orange]}"   读取fruits_value[orange]的值

Orange costs 150 dollars

7. 列出数组索引  echo ${!数组[*]}

$ echo ${fruits_value[*]}

100dollars 150 dollars      //读取了数组的值

$ echo ${!fruits_value[*]}

apple orange    //读取了数组的索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: