一、概述
数组也是一种变量,数组可以存放多个相关联的内容,通过访问数组调用里面对应的值,其主要是用于对数据进行分组;
二、创建数组
1,创建数组
[root@gong ~]# ip_a=(10.0.0.200 10.0.0.201 10.0.0.202)
2,打印数组
[root@gong ~]# echo ${ip_a}
10.0.0.200
[root@gong ~]# echo ${ip_a[2]}
10.0.0.202
[root@gong ~]# echo ${ip_a[1]}
10.0.0.201
[root@gong ~]# echo ${ip_a[0]}
10.0.0.200
3,释义说明
echo ${ip_a[2]}
##############
[n] #代表数组的下标,数组下标是从0开始的;
4,打印数组中所有值
[root@gong ~]# echo ${ip_a[@]}
10.0.0.200 10.0.0.201 10.0.0.202
[root@gong ~]# echo ${ip_a[*]}
10.0.0.200 10.0.0.201 10.0.0.202
三、数组赋值
1,第一种方式:批量赋值
· 编辑一个文件
[root@gong ~]# vim ip.txt
10.0.0.200
10.0.0.201
10.0.0.202
10.0.0.203
10.0.0.204
10.0.0.205
· 赋值数组
[root@gong ~]# ip_a1=(`cat ip.txt`)
[root@gong ~]# echo ${ip_a1[@]}
10.0.0.200 10.0.0.201 10.0.0.202 10.0.0.203 10.0.0.204 10.0.0.205
[root@gong ~]# echo ${#ip_a1[@]}
8
2,逐个赋值
[root@gong ~]# ip_a2[0]=10.0.0.200
[root@gong ~]# ip_a2[1]=10.0.0.201
[root@gong ~]# ip_a2[2]=10.0.0.203
[root@gong ~]# echo ${ip_a2[@]}
10.0.0.200 10.0.0.201 10.0.0.203
[root@gong ~]# echo ${#ip_a2[@]}
3
3,read命令赋值
[root@gong ~]# vim read.sh
#!/bin/bash
read -p "请输入ip地址:" -a ip_a3
echo -e "ip分别为: ${ip_a3[@]}" \t
echo "数量为:${#ip_a3[@]} 个"
[root@gong ~]# sh read.sh
请输入ip地址:10.0.0.200 10.0.0.2-1
ip分别为: 10.0.0.200 10.0.0.2-1 t
数量为:2 个