亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

linux shell數組深入學習理解

2020-07-27 19:23:55
字體:
來源:轉載
供稿:網友

bash shell只支持一維數組,但參數個數沒有限制。

聲明一個數組:
declare -a array
(其實不用聲明,按數組方式直接賦值給變量即可,BASH就知道那是數組)

數組賦值:
(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

計算數組元素個數:
${#array[@]}  或者  ${#array[*]}

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

引用數組:

復制代碼 代碼如下:

echo ${array[n]}

遍歷數組:

復制代碼 代碼如下:

filename=(`ls`)
for var in ${filename[@]};do
echo $var
done

下面為大家介紹一些shell數組的小例子。

1、從“標準輸入”讀入n次字符串,每次輸入的字符串保存在數組array里

復制代碼 代碼如下:

#!/bin/bash
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、將字符串里的字母逐個放入數組,并輸出到“標準輸出”

復制代碼 代碼如下:

#!/bin/bash
chars='abcdefghijklmnopqrstuvwxyz'
for (( i=0; i<26; i++ )) ; do
    array[$i]=${chars:$i:1}
    echo ${array[$i]}
done

這里有趣的地方是 ${chars:$i:1},表示從chars字符串的 $i 位置開始,獲取 1 個字符。如果將 1 改為 3 ,就獲取 3 個字符啦~ 結果是:
abc
bcd
...
vxy
xyz
yz     //沒有足夠字符串獲取了
z      //沒有足夠字符串獲取了

下面介紹將數組應用到shell環境變量的一些例子。

3、將數組應用到shell環境變量(1)

復制代碼 代碼如下:

數組賦值:
[root@pps ~]# SEASON=("Srping" "Summer" "Autumn" "Winter")
當你發現賦值錯了,也可以立刻從新賦值糾正,如上面的 Spring 被寫成 Srping。
重新賦值:(原來的值被重寫)
[root@pps ~]# SEASON=("Spring" "Summer" "Autumn" "Winter")

查看一下環境變量:
[root@pps ~]# set | grep SEASON
SEASON=([0]="Spring" [1]="Summer" [2]="Autumn" [3]="Winter")

顯示整個數組:
[root@pps ~]# echo ${SEASON[*]}  或者 echo ${SEASON[@]}
Spring Summer Autumn Winter

顯示某一數組元素:
[root@pps ~]# echo ${SEASON[3]}
Winter

給單個數組元素賦值:
[root@pps ~]# SEASON[0]="New_Spring"

再查看一下看數組:
[root@pps ~]# echo ${SEASON[*]}
New_Spring Summer Autumn Winter

清除指定的單個數組元素:
[root@pps ~]# unset SEASON[2]

清除整個數組:
[root@pps ~]# unset SEASON

4、將數組應用到shell環境變量(2)
使用tr命令將文件中的回車轉換成空格:

復制代碼 代碼如下:

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

將文件中內容給數組賦值:(碰到第一個回車符之前的內容)
復制代碼 代碼如下:

[root@pps ~]# read -a SHELLS < /tmp/tmp.file

查看數組賦值情況:
復制代碼 代碼如下:

[root@pps ~]# set | grep "SHELLS"
SHELLS=([0]="/bin/sh" [1]="/bin/bash" [2]="/sbin/nologin" [3]="/bin/tcsh" [4]="/bin/csh" [5]="/bin/ksh")

后面可以將這個數組環境變量應用到其它的SHELL腳本或者應用程序里了。

總結:有了以上的這些內容,以后在shell編程中,對數組這塊來講,應該不成什么問題了,你做到了嗎?!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲在线一区二区| 欧美激情xxxx性bbbb| 欧美成人免费播放| 欧美在线精品免播放器视频| 国产精品自拍视频| 欧美激情高清视频| 成人性生交大片免费看小说| 中文字幕一区二区三区电影| 国产亚洲在线播放| 91视频国产精品| 亚洲精品日产aⅴ| 日韩精品极品视频免费观看| 日本最新高清不卡中文字幕| 精品久久久久久中文字幕大豆网| 精品美女国产在线| 日韩美女免费线视频| 国产精品久久久久久久9999| 国产玖玖精品视频| 欧美激情精品久久久久久蜜臀| 日韩av电影免费观看高清| 蜜月aⅴ免费一区二区三区| 精品高清美女精品国产区| 久久成人这里只有精品| 亚洲色图综合久久| 在线观看国产精品淫| 色黄久久久久久| 国产成人免费av电影| 亚洲成人精品在线| 成人黄色午夜影院| 国产精品视频播放| 国产成人精品日本亚洲专区61| 一区二区成人av| 在线精品播放av| 成人激情视频在线播放| 国产精品海角社区在线观看| 欧美日韩国产va另类| 国产黑人绿帽在线第一区| 亚洲国产精品视频在线观看| 黑人巨大精品欧美一区二区免费| 91精品国产综合久久香蕉| 成人美女av在线直播| 国产免费一区视频观看免费| 97久久伊人激情网| 中文综合在线观看| 亚洲影视九九影院在线观看| 亚洲国产毛片完整版| 亚洲一区二区三区四区视频| 久久亚洲精品小早川怜子66| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产69久久精品成人看| 成人看片人aa| 国产亚洲精品一区二555| 国产精品欧美一区二区三区奶水| 亚洲综合一区二区不卡| 韩剧1988免费观看全集| 国产成人精品av在线| 色综合天天狠天天透天天伊人| 日韩av在线一区二区| 亚洲天堂av在线免费| 久久精品一区中文字幕| 欧美日韩精品国产| 欧美午夜电影在线| 68精品国产免费久久久久久婷婷| 久久视频中文字幕| 日韩av电影在线播放| 91视频8mav| 色综合久久中文字幕综合网小说| 中文国产成人精品久久一| 精品美女久久久久久免费| 亚洲人成在线免费观看| 91情侣偷在线精品国产| 国产精品久久久久久久久久尿| 亚洲男人天堂九九视频| 欧美精品一区在线播放| 日韩女优人人人人射在线视频| 欧美激情性做爰免费视频| 日韩一区二区久久久| 久久精品国产综合| 视频一区视频二区国产精品| 国产精品一区二区电影| 国产日韩欧美电影在线观看| 91国在线精品国内播放| 日韩精品免费在线观看| 欧美性高潮床叫视频| 国产自产女人91一区在线观看| 国产成人一区二区| 97久久精品人人澡人人爽缅北| 亚洲欧洲自拍偷拍| 亚洲人成电影网站色| 欧美高清视频在线| 中文字幕在线视频日韩| 日本亚洲欧洲色| 亚洲sss综合天堂久久| 久久视频免费观看| 欧美精品久久久久久久久| 欧美性猛交xxxx富婆弯腰| 亚洲欧美一区二区激情| 国产精品福利久久久| 亚洲精品第一国产综合精品| 欧美与黑人午夜性猛交久久久| 国产精品高潮呻吟久久av无限| 日韩av色在线| 色婷婷成人综合| 日韩美女主播视频| 国产精品视频精品| 亚洲第一福利在线观看| 日韩69视频在线观看| 欧美国产日韩精品| 国a精品视频大全| 欧美午夜精品在线| 一区二区三区久久精品| 伊人一区二区三区久久精品| 久久亚洲精品毛片| 精品香蕉一区二区三区| 亚洲伊人一本大道中文字幕| 精品日韩视频在线观看| 久久久精品影院| 国产精品99久久久久久白浆小说| 国产一区二区日韩精品欧美精品| 国产主播喷水一区二区| 欧美成人午夜剧场免费观看| 亚洲最大福利视频| 欧美一级淫片丝袜脚交| 欧美乱大交做爰xxxⅹ性3| 亚洲人成电影网| 成人网在线视频| 日韩欧美亚洲成人| 国产91精品久久久久| 岛国av一区二区在线在线观看| 亚洲精品国产精品乱码不99按摩| 久久久久久国产三级电影| 在线视频精品一| 精品福利视频导航| 日韩视频免费看| 宅男66日本亚洲欧美视频| 97久久久免费福利网址| 亚洲人午夜精品免费| 欧美日韩中文字幕在线视频| 欧美日韩在线免费| 久久中文字幕在线| 黄色一区二区在线观看| 欧美国产日韩一区二区在线观看| 日韩在线高清视频| 日本久久中文字幕| 美女精品久久久| 日本a级片电影一区二区| 成人xxxxx| 55夜色66夜色国产精品视频| 欧美在线免费视频| 亚洲人成在线观看| 亚洲一区二区三区视频播放| 欧美理论电影网| 国产一区二区香蕉| 国产丝袜精品视频| 国产成人免费av电影| 久久久免费精品视频| 国产精品偷伦免费视频观看的| 午夜精品久久久久久久男人的天堂| 7777精品久久久久久| 国产欧美欧洲在线观看| 国产精品都在这里| 欧美性videos高清精品| 国产91色在线|免| 国产精品稀缺呦系列在线|