zoukankan      html  css  js  c++  java
  • shell数组

    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是数组下标

     

  • 相关阅读:
    June 1. 2018 Week 22nd Friday
    【Android开发】【布局】几个常用布局构成的简单demo
    【Android开发】【布局】各种TabLayout样式
    【Android开发】【数据库】Realm For Android
    【Android开发】jarsigner重新打包apk
    【Android开发】Coding + git命令行基本使用
    【MarkDown】使用
    【Android Studio】Gradle统一管理版本号引用配置
    【Android开发】EasyPermissions 请求权限
    【Android开发】Android6.0请求权限方式
  • 原文地址:https://www.cnblogs.com/yinshoucheng-golden/p/9595338.html
Copyright © 2011-2022 走看看