黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

shell 數組

系統 2231 0

http://blog.sina.com.cn/s/blog_7429b9c80100usiq.html

1. 數組的定義

?
Bash 中還可以使用數組變量 , 其賦值有兩種 :
(1) name = (value1 ... valuen)?
此時下標從 0 開始,也可以: names=([2]=alice?[0]=hatter [1]=duchess)
(2) name[index] = value

shell中數組的下標默認是從0開始的

舉例如下:
?
array=(a b c d e)
注意只能使用空格分隔,不能夠使用其它符號分隔。舉例如下:
?
=========
#!/bin/sh
array1=(1,2,3,4,5,678,9)
array2=(1 2 3 4 5 678 9)
length1=${#array1[@]}
length2=${#array2[@]}
for ((i=0; i<$length1; i++));
do
? ? ? echo array1[$i]=${array1[$i]}
done
for ((i=0; i<$length2; i++));
do
? ? ? echo array2[$i]=${array2[$i]}
done
==========
將上述腳本保存為t.sh并執行后可見結果如下:
[root@localhost vietnam]# sh t.sh?
array1[0]=1,2,3,4,5,678,9
array2[0]=1
array2[1]=2
array2[2]=3
array2[3]=4
array2[4]=5
array2[5]=678
array2[6]=9
?
此時發現array1只有一個元素,而array2則有7個元素,因此需要特別注意。
?
如果遇到數據元素很多,需要換行時可以使用如下方法定義:
SERVER=("192.168.1.1" \
"192.168.1.2" \
"192.168.1.3" \
"192.168.1.4" \
"192.168.1.5" \
"192.168.1.6" \
"192.168.1.7")
注意括號與第一個和最后一個元素必須緊鄰,不能有空格。
?
?
2. 數組的遍歷
?
2.1?
====
#!/bin/sh
array=(1 2 3 4 5 678 9)
length=${#array[@]}
for ((i=0; i<$length; i++));
do
? ? ? echo array[$i]=${array[$i]}
done
====
?
2.2
===
#!/bin/sh
array=(1 2 3 4 5 678 9)
for _id_ in ${array[@]};
do
? ? ? echo $_id_
done
===
?
3. 其它注意事項
3.1 注意"${array[*]}"與${array[*]}的區別, 在加引號時, * 則作為一個整體的字符串返回
=====
#!/bin/sh
array=(1 2 3 4 5 678 9)
for _id_ in "${array[*]}";
? ? ? ?do
? ? ? ? ? ? ? echo \"*\" array $_id_
? ? ? ?done
?
for _id_ in ${array[*]};
? ? ? ?do
? ? ? ? ? ? ? echo \* array $_id_
? ? ? ?done
===
[root@localhost vietnam]# sh t.sh
"*" array 1 2 3 4 5 678 9
* array 1
* array 2
* array 3
* array 4
* array 5
* array 678
* array 9
?
===
array=(1 2 3 4 5 678 9)
?
顯示目前有值的數組序號:――bash 3.0以后才支持。
echo ${!array[@]}
0 1 2 3 4 5 6
?
取得數組元素的個數
echo ${#array[@]}
7
?
顯示第3個元素里面的元素的個數:
echo ${#array[5]}
3
echo ${#array[1]}
1

shell 數組


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論