码迷,mamicode.com
首页 > 编程语言 > 详细

shell数组

时间:2018-09-06 02:51:52      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:数据类型   动态数组   roo   span   就是   bsp   bin   组成   one   

shell数组

数组介绍

数组就是各种数据类型的元素按一定顺序排列的集合。

数组就是把有限个元素变量或数据用一个名字命名,然后用编号区分它们的变量的集合。这个名字称为数组名,编号称为数组下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

数组定义与增删改查

方法1:array=(value1 value2 value3)

1)数组定义

  1. [root@lamp ~]# array=(1 2 3)

2)获取数组的长度

  1. [root@lamp ~]# echo ${#array[*]}
  2. 3
  3. [root@lamp ~]# echo ${#array[@]}
  4. 3

3)打印数组元素

  1. [root@lamp ~]# echo ${array[0]}
  2. 1

打印数组元素用${数组名[下标]},下标从0开始。

打印所有数组元素。

  1. [root@lamp ~]# echo ${array[*]}
  2. 1 2 3

 

  1. [root@lamp ~]# echo ${array[@]}
  2. 1 2 3

for循环打印数组。

  1. [root@lamp ~]# cat array.sh
  2. #!/bin/bash
  3. array=(
  4.   192.168.0.1
  5.   192.168.0.2
  6.   192.168.0.3
  7. )
  8. for((i=0;i<${#array[@]};i++))
  9. do
  10.   echo ${array[i]}
  11. done
  12.  
  13. echo "----------------"
  14.  
  15. for i in ${array[@]}
  16. do
  17.   echo $i
  18. done

4)数组赋值

  1. [root@lamp ~]# array=(1 2 3)
  2. [root@lamp ~]# echo ${array[@]}
  3. 1 2 3
  4. [root@lamp ~]# array[3]=4
  5. [root@lamp ~]# echo ${array[*]}
  6. 1 2 3 4

5)数组删除

  1. [root@lamp ~]# array=(1 2 3)
  2. [root@lamp ~]# unset array[0]
  3. [root@lamp ~]# echo ${array[@]}
  4. 2 3

6)数组内容的截取和替换

截取

  1. [root@lamp ~]# array=(1 2 3 4 5 6)
  2. 截取1号到3号数组元素
  3. [root@lamp ~]# echo ${array[@]:1:3}
  4. 2 3 4
  5. [root@lamp ~]# echo ${array[*]:3:2}
  6. 4 5

替换

  1. 把数组中的5替换成88,临时生效,原数组不变
  2. [root@lamp ~]# echo ${array[@]/5/88}
  3. 1 2 3 4 88 6

把系统命令结果作为数组元素。

  1. [root@lamp ~]# array=($(ls))

小结

1、定义

静态数组:array=(1 2 3)

动态数组:array=($(ls))

数组赋值:array[3]=4

2、打印

打印所有元素:${array[@]}或${array[*]}

打印数组长度:${#array[@]}或${array[*]}

打印单个元素:${array[i]},i是数组下标

 

shell数组

标签:数据类型   动态数组   roo   span   就是   bsp   bin   组成   one   

原文地址:https://www.cnblogs.com/yinshoucheng-golden/p/9595338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!