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

    Bash中还可以使用数组变量,其赋值有两种:

    (1) name = (value1 ... valuen) 此时下标从0开始
    (2) name[index] = value

    数组下标的范围没有任何限制,同时也不必使用连续的分量.


    $ A=(a b c def)

    ==================================================
    $ echo ${A[@]}          //取全部元素
    a b c def

    =================================================

    $ echo ${A[0]}         //取第一个元素
    a

    =================================================

    //取得数组元素的个数
    $ echo ${#A[@]}
    4
    $ echo ${#A[*]}
    4
    $ echo ${#A[3]}     //取得元素3的长度
    $

    ==================================================

    $ A[3]=yaoshuyin    //将第三个元素重新赋值
    $ echo ${A[@]}
    a b c yaoshuyin

    ==================================================
    //清除变量
    $ unset A
    $ echo ${A[@]}
    $

    ==================================================

    //清空变量,即将值变为空
    $ A=
    $ echo ${A[@]}
    $
    ==================================================

    A=B
    B=C
    unset $A 事实上所取消的变量是 B 而不是 A


    =======================示例 while循环========================

    #建立数组
    arrSource=("arrJobs.php"  "arrSubHangye.php" "arrFirst.php" )

    arrDest=("buildhr"            \
             "buildtrain/htdocs"  \
             "bankhr"             \
             "healthr"            \
             "elehr"              \
             )

    #取数组无元素个数
    lenArrSource=${#arrSource[*]}
    lenArrDest=${#arrDest[*]}


    #循环列出数组元素
    i=0
    while  [ $i -lt $lenArrSource ]
    do
       echo ${arrSource[$i]}
       let i++
    done


    i=0
    while  [ $i -lt $lenArrDest ]
    do
       echo ${arrDest[$i]}
       let i++
    done


    =======================示例: for循环===============================
     
    #源文件
    arrSource=("/home/800hr/htdocs/login_jump.php")

    #目标网站
    arrDest=(ithr elehr buildhr bankhr healthr  ctvhr chenhr mechr clothr cneduhr 56hr tourhr foodhr greenhr cnlawhr waimaohr)

    for outer in ${arrSource[*]}    #${arrSource[*]} 是数组中的所有元素
    do
       for inner in ${arrDest[*]}
       do
          echo  "ln -s $outer /home/${inner}/campus/"
       done
    done
  • 相关阅读:
    【CodeVS 1028】 花店橱窗布置
    超赞的网络流入门教程
    【BZOJ 1798】[Ahoi2009]Seq 维护序列seq
    【洛谷 1991】 无线通讯网
    【Poj 3469】 Dual Core CPU
    【BZOJ 3504 】[Cqoi2014]危桥
    【Poj 3436】 ACM Computer Factory
    【BZOJ 3990】 [SDOI2015]排序
    【COGS 1873】 [国家集训队2011]happiness(吴确)
    最小割PPt
  • 原文地址:https://www.cnblogs.com/sunss/p/1845973.html
Copyright © 2011-2022 走看看