shell数组
数组介绍
数组就是各种数据类型的元素按一定顺序排列的集合。
数组就是把有限个元素变量或数据用一个名字命名,然后用编号区分它们的变量的集合。这个名字称为数组名,编号称为数组下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
数组定义与增删改查
方法1:array=(value1 value2 value3)
1)数组定义
[root@lamp ~]# array=(1 2 3)
2)获取数组的长度
[root@lamp ~]# echo ${#array[*]}
3
[root@lamp ~]# echo ${#array[@]}
3
3)打印数组元素
[root@lamp ~]# echo ${array[0]}
1
打印数组元素用${数组名[下标]},下标从0开始。
打印所有数组元素。
[root@lamp ~]# echo ${array[*]}
1 2 3
[root@lamp ~]# echo ${array[@]}
1 2 3
for循环打印数组。
[root@lamp ~]# cat array.sh
#!/bin/bash
array=(
192.168.0.1
192.168.0.2
192.168.0.3
)
for((i=0;i<${#array[@]};i++))
do
echo ${array[i]}
done
echo "----------------"
for i in ${array[@]}
do
echo $i
done
4)数组赋值
[root@lamp ~]# array=(1 2 3)
[root@lamp ~]# echo ${array[@]}
1 2 3
[root@lamp ~]# array[3]=4
[root@lamp ~]# echo ${array[*]}
1 2 3 4
5)数组删除
[root@lamp ~]# array=(1 2 3)
[root@lamp ~]# unset array[0]
[root@lamp ~]# echo ${array[@]}
2 3
6)数组内容的截取和替换
截取
[root@lamp ~]# array=(1 2 3 4 5 6)
截取1号到3号数组元素
[root@lamp ~]# echo ${array[@]:1:3}
2 3 4
[root@lamp ~]# echo ${array[*]:3:2}
4 5
替换
把数组中的5替换成88,临时生效,原数组不变
[root@lamp ~]# echo ${array[@]/5/88}
1 2 3 4 88 6
把系统命令结果作为数组元素。
[root@lamp ~]# array=($(ls))
小结
1、定义
静态数组:array=(1 2 3)
动态数组:array=($(ls))
数组赋值:array[3]=4
2、打印
打印所有元素:${array[@]}或${array[*]}
打印数组长度:${#array[@]}或${array[*]}
打印单个元素:${array[i]},i是数组下标
shell数组
原文:https://www.cnblogs.com/yinshoucheng-golden/p/9595338.html