一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

BASH數(shù)組用法小結(jié)

 用勿龍潛 2011-09-22
BASH數(shù)組用法小結(jié)
  

    BASH只支持一維數(shù)組,但參數(shù)個(gè)數(shù)沒(méi)有限制。

    

    聲明一個(gè)數(shù)組:

    declare -a array

    (其實(shí)不用聲明,按數(shù)組方式直接賦值給變量即可,BASH就知道那是數(shù)組)

    

    數(shù)組賦值:

    (1) array=(var1 var2 var3 ... varN)

    (2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)

    (3) array[0]=var1

     arrya[1]=var2

     ...

     array[n]=varN

    

    計(jì)算數(shù)組元素個(gè)數(shù):

    ${#array[@]} 或者 ${#array

  • }

     

        

        BASH的特殊參數(shù) @ 和 * 都表示“擴(kuò)展位置參數(shù),從1開(kāi)始”,但形式稍有差異,但在數(shù)組里使用好像是可以通用的。

        

        引用數(shù)組:

        echo ${array[n]}

        

        遍歷數(shù)組:

        filename=(`ls`)

        for var in ${filename[@]};do

        echo $var

        done

        

        數(shù)組實(shí)用示例:(個(gè)人收集整理)

        

        1、從“標(biāo)準(zhǔn)輸入”讀入n次字符串,每次輸入的字符串保存在數(shù)組array里

        i=0

        n=5

        while [ "$i" -lt $n ] ; do

         echo "Please input strings ... `expr $i + 1`"

         read array[$i]

         b=${array[$i]}

         echo "$b"

         i=`expr $i + 1`

        done

        

        2、將字符串里的字母逐個(gè)放入數(shù)組,并輸出到“標(biāo)準(zhǔn)輸出”

        chars='abcdefghijklmnopqrstuvwxyz'

        for (( i=0; i

        

        這里有趣的地方是 ${chars:$i:1},表示從chars字符串的 $i 位置開(kāi)始,獲取 1 個(gè)字符。如果將 1 改為 3 ,就獲取 3 個(gè)字符啦~ 結(jié)果是:

        abc

        bcd

        ...

        vxy

        xyz

        yz //沒(méi)有足夠字符串獲取了

        z //沒(méi)有足夠字符串獲取了

        3、將數(shù)組應(yīng)用到shell環(huán)境變量

        

        3、將數(shù)組應(yīng)用到shell環(huán)境變量(1)

        

        數(shù)組賦值:

        [root@pps ~]# SEASON=("Srping" "Summer" "Autumn" "Winter")

        當(dāng)你發(fā)現(xiàn)賦值錯(cuò)了,也可以立刻從新賦值糾正,如上面的 Spring 被寫(xiě)成 Srping。

        重新賦值:(原來(lái)的值被重寫(xiě))

        [root@pps ~]# SEASON=("Spring" "Summer" "Autumn" "Winter")

        

        查看一下環(huán)境變量:

        [root@pps ~]# set | grep SEASON

        SEASON=([0]="Spring" [1]="Summer" [2]="Autumn" [3]="Winter")

        

        顯示整個(gè)數(shù)組:

        [root@pps ~]# echo ${SEASON

  • } 或者 echo ${SEASON[@]}

     

        Spring Summer Autumn Winter

        

        顯示某一數(shù)組元素:

        [root@pps ~]# echo ${SEASON[3]}

        Winter

        

        給單個(gè)數(shù)組元素賦值:

        [root@pps ~]# SEASON[0]="New_Spring"

        

        再查看一下看數(shù)組:

        [root@pps ~]# echo ${SEASON

  • }

     

        New_Spring Summer Autumn Winter

        

        清除指定的單個(gè)數(shù)組元素:

        [root@pps ~]# unset SEASON[2]

        

        清除整個(gè)數(shù)組:

        [root@pps ~]# unset SEASON

        

        4、將數(shù)組應(yīng)用到shell環(huán)境變量(2) 【這個(gè)用法不錯(cuò)!給原作者贊一個(gè)!】

        

        使用tr命令將文件中的回車轉(zhuǎn)換成空格:

        [root@pps ~]# cat /etc/shells | tr "\n" " " > /tmp/tmp.file

        

        將文件中內(nèi)容給數(shù)組賦值:(碰到第一個(gè)回車符之前的內(nèi)容)

        [root@pps ~]# read -a SHELLS

        

        查看數(shù)組賦值情況:

        [root@pps ~]# set | grep "SHELLS"

        SHELLS=([0]="/bin/sh" [1]="/bin/bash" [2]="/sbin/nologin" [3]="/bin/tcsh" [4]="/bin/csh" [5]="/bin/ksh")

        

        后面可以將這個(gè)數(shù)組環(huán)境變量應(yīng)用到其它的SHELL腳本或者應(yīng)用程序里了~

    • 本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      精品少妇一区二区三区四区| 午夜福利精品视频视频| 成人国产一区二区三区精品麻豆 | 国产熟女一区二区精品视频| 日本一区二区三区黄色| 日韩欧美一区二区久久婷婷| 欧美人妻盗摄日韩偷拍| 国产成人av在线免播放观看av| 国产女优视频一区二区| 1024你懂的在线视频| 国产精品一区二区视频成人| 美女黄色三级深夜福利| 国产永久免费高清在线精品| 欧美在线观看视频三区| 男生和女生哪个更好色| 亚洲五月婷婷中文字幕| 国产又粗又猛又长又大| 深夜日本福利在线观看| 国产日韩久久精品一区| 国产乱久久亚洲国产精品| 厕所偷拍一区二区三区视频| 熟女高潮一区二区三区| 日本不卡在线一区二区三区| 国产精品日韩欧美一区二区| 国产激情一区二区三区不卡| 国产精品日韩精品一区| 日韩精品综合福利在线观看| 午夜日韩在线观看视频| 高清不卡视频在线观看| 国产一区二区三区四区免费| 色婷婷中文字幕在线视频| 国产传媒一区二区三区| 国产午夜免费在线视频| 午夜精品久久久免费视频| 亚洲中文字幕视频一区二区| 日韩欧美国产亚洲一区| 欧美一区二区不卡专区| 成人国产一区二区三区精品麻豆| 亚洲国产中文字幕在线观看| 大尺度激情福利视频在线观看| 亚洲视频在线观看你懂的|