Linux中數組本人可能用的相對較少,但是會經常遇見,也容易忘記,就順便記錄下來吧
數值類型的數組:一對括號表示數組,數組中元素之間使用“空格”來隔開
arr=(1 2 3 4 5)
字符串類型數組:同樣,使用一對括號表示數組,其中數組中的元素使用雙引號或者單引號包含,同樣使用“空格”來隔開
arr=('a' 'b' 'c')
          數組的任何元素都可以用${arr[下標]}來引用,花括號是必須的,以避免和路徑擴展沖突。  
        
 
        
數組的操作
以數值型數組為例:arr=(1 2 3 4 5)
1.計算數組的長度
len=${#arr[*]}

2、輸出所有數組的值

          如果 [下標] 是@或是*,它擴展為arr的所有成員。這兩種下標只有在雙引號中才不同。在雙引號中,${name[*]}擴展為一個詞,由所有數組成員的值組成, 
        
 
         
         
        
          用特殊變量IFS的第一個字符分隔數組成員;${arr[@]}將arr的每個成員擴展為一個詞。 如果數組沒有成員,${arr[@]} 擴展為空串。 
        
 
        
3、輸出數組的單個元素值(數組下標值從0開始,所以5值為空)

4、在shell腳本中數組和read的結合使用

5、數組結合函數和read一起使用 使用$@和”$@“以及$*

輸出結果

使用"$*"時

輸出結果

6、來點新的(鬼知道有啥用)
          向函數傳遞的參數是$arg1,我們知道不能向函數傳遞一個數組,而應該是遍歷的數組的值,所以在arg1賦值這里,不能寫arg1=(${echo ${myarray[*]})), 
        
 
         
         
        
          這樣相當於arg1是一個數組了,而arg1=$(echo ${myarray[*]})返回的則是1 2 3 4 5單個的輸出值;函數的返回同理,返回的是單個的數值,接受的時候加上(),組成數組 
        
 
        

輸出結果

7、結合read傳遞參數型(稍微靈活點,更加不知道有什么鬼用,鳥改哈就闊以啦,估計很少會用這些吧)

輸出結果

正好看到這些,研究了很久,起初都是一臉懵逼,寫出來不知道有沒有啥子用,我工作的地方好像都沒用到額,有點尷尬!!!
