shell数组
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是数组下标
posted on 2018-09-05 22:29 yinshoucheng 阅读(383) 评论(0) 编辑 收藏 举报