<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # **一、數組基礎** Shell的數組就是把有限個元素(變量或字符內容)用一個名字命名,然后用編號對它們進行區分的元素集合。這個名字就稱為數組名,用于區分不同內容的編號就稱為數組下標。組成數組的各個元素(變量)稱為數組的元素,有時也稱為下標變量 數組也是一種變量變量,所以變量子串的相關功能數組也同樣適用,數組下標默認是從0開始計數的。 > 數組的相關知識通過man bash然后搜Arrays來了解。 ## **1. 定義數組** ### 1) 靜態命名數組 * 方法1[推薦] `array1=(1 2 3)` * 方法2 ``` array2=( www.baidu.com www.sina.com ) ``` * 方法3 `array=([0]=one [1]=two [2]=three [3]=four)` ### 2) 動態命令創建數組 ``` array=($(ls)) array=(`ls`) ``` ## **2. 打印數組** ### 1) 打印所有元素: ``` $(array[@]) $(array[*]) ``` ### 2) 打印數組長度: ``` $(#array[@]) $(#array[*]) ``` ### 3) 打印單個元素: `$(array[i])` ## **3. 增改數組數據** ### 1) 增改 ``` array[0]=one array[1]=two array[2]=three ``` 如果對應的下標值不存在,則新賦值,如果已存在,則會覆蓋原值 ## **4. 刪除數組數據** 因為數組本質上還是變量,因此可通過“unset 數組[下標]”清除相應的數組元素,如果不帶下標,表示清除整個數組的所有數據。 ``` unset array[1] unset array ``` ## **5. 切片和替換[變量子串]** 數組也是變量,因此也適合于前面講解過的變量的子串處理的功能應用。 ### 1) 切片功能 ``` array=(1 2 3 4 5) echo ${array[@]:1:3} ``` > 2 3 4 *從下標為1的元素開始截取,共取3個數組元素。其他用法參考變量子串的用法* ### 2) 替換 ``` array=(1 2 3 1 1) echo ${array[@]/1/b} ``` > b 2 3 b b 把數組中的1替換成b,原數組未被修改,和sed很像。其他用法參考變量子串的用法 調用方法是:`${數組名[@或*]/查找字符/替換字符}` 該操作不會改變原先數組 # **二、案例** ## **1. 內容打印數組元素個數** >* `array=(1 2 3 4 4) && echo ${array[@]}` 1 2 3 4 4 >* `echo ${#array[@]}` 5 >* `echo ${array[1]} ` 2 >>數組下標默認是從0開始計數的 ## **2. for循環打印數組** 用數組和for循環將“i am oldboy my teacher is luogang”這句話中,字符數小于等于6個的單詞打印出來 * `cat /server/scripts/d1.sh ` ```shell #!/bin/bash array=(i am oldboy my teacher is luogang) for n in ${array[*]} do if [ `echo $n|wc -L` -le 6 ] then echo $n fi done echo ----------------- for((i=0;i<${#array[*]};i++)) do if [ ${#array[i]} -le 6 ] then echo ${array[i]} fi done ``` * sh /server/scripts/d1.sh ![執行結果](https://www.github.com/noah-luo/imags/raw/master/year/1544753130960.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看