加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell数组

发布时间:2020-12-15 23:20:25 所属栏目:安全 来源:网络整理
导读:shell数组 数组介绍 数组就是各种数据类型的元素按一定顺序排列的集合。 数组就是把有限个元素变量或数据用一个名字命名,然后用编号区分它们的变量的集合。这个名字称为数组名,编号称为数组下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有

shell数组

数组介绍

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

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

数组定义与增删改查

方法1:array=(value1 value2 value3)

1)数组定义

  1. [[email?protected] ~]# array=(1 2 3)

2)获取数组的长度

  1. [[email?protected] ~]# echo ${#array[*]}
  2. 3
  3. [[email?protected] ~]# echo ${#array[@]}
  4. 3

3)打印数组元素

  1. [[email?protected] ~]# echo ${array[0]}
  2. 1

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

打印所有数组元素。

  1. [[email?protected] ~]# echo ${array[*]}
  2. 1 2 3

?

  1. [[email?protected] ~]# echo ${array[@]}
  2. 1 2 3

for循环打印数组。

  1. [[email?protected] ~]# 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. [[email?protected] ~]# array=(1 2 3)
  2. [[email?protected] ~]# echo ${array[@]}
  3. 1 2 3
  4. [[email?protected] ~]# array[3]=4
  5. [[email?protected] ~]# echo ${array[*]}
  6. 1 2 3 4

5)数组删除

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

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

截取

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

替换

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

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

  1. [[email?protected] ~]# array=($(ls))

小结

1、定义

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

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

数组赋值:array[3]=4

2、打印

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读