Linux shell 中陣列的使用
linux shell在程式設計方面比windows 批處理強大太多,無論是在迴圈、運算。已經資料型別方面都是不能比較的。 下面是個人在使用時候,對它在陣列方面一些操作進行的總結。
1.陣列定義
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a
1
一對括號表示是陣列,陣列元素用“空格”符號分割開。
2.陣列讀取與賦值
- 得到長度:
[chengmo@centos5 ~]$ echo ${#a[@]}
5
用${#陣列名[@或*]} 可以得到陣列長度
- 讀取:
[chengmo@centos5 ~]$ echo ${a[2]}
3
[chengmo@centos5 ~]$ echo ${a[*]}
1 2 3 4 5
用${陣列名[下標]} 下標是從0開始 下標是:*或者@ 得到整個陣列內容
- 賦值:
[chengmo@centos5 ~]$ a[1]=100
[chengmo@centos5 ~]$ echo ${a[*]}
1 100 3 4 5
[chengmo@centos5 ~]$ a[5]=100
[chengmo@centos5 ~]$ echo ${a[*]}1 100 3 4 5 100
直接透過 陣列名[下標] 就可以對其進行引用賦值,如果下標不存在,自動新增新一個陣列元素
- 刪除:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a[*]}[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a[1]
[chengmo@centos5 ~]$ echo ${a[*]}
1 3 4 5
[chengmo@centos5 ~]$ echo ${#a[*]}
4
直接透過:unset 陣列[下標] 可以清除相應的元素,不帶下標,清除整個資料。
3.特殊使用
- 分片:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5
[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${#c[@]}
4
[chengmo@centos5 ~]$ echo ${c[*]}
2 3 4 5
直接透過 ${陣列名[@或*]:起始位置:長度} 切片原先陣列,返回是字串,中間用“空格”分開,因此如果加上”()”,將得到切片陣列,上面例子:c 就是一個新資料。
- 替換:
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100})
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 100 4 5
呼叫方法是:${陣列名[@或*]/查詢字元/替換字元} 該操作不會改變原先陣列內容,如果需要修改,可以看上面例子,重新定義資料。
從上面講到的,大家可以發現linux shell 的陣列已經很強大了,常見的操作已經綽綽有餘了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-1470776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux Shell 陣列建立及使用技巧Linux陣列
- linux Shell 命令列-03-array Shell 陣列Linux命令列陣列
- Bash Shell指令碼中的陣列使用例項指令碼陣列
- Linux Shell 建立序列陣列Linux陣列
- shell 陣列使用簡介陣列
- 陣列-在Shell指令碼中的基本使用介紹陣列指令碼
- linux shell 動態生成 陣列系列 seq使用技巧Linux陣列
- Linux Shell 動態生成 陣列系列 Seq 使用技巧Linux陣列
- Shell陣列陣列
- linux shell陣列深入學習理解Linux陣列
- shell 使用陣列及字串擷取陣列字串
- shell陣列(轉)陣列
- PowerShell中的陣列使用陣列
- shell指令碼(6)-shell陣列指令碼陣列
- Shell 陣列介紹陣列
- [shell基礎]——陣列陣列
- [Shell] awk 陣列(2)陣列
- [Shell] awk 陣列(1)陣列
- Java 中的陣列 如何使用Java陣列
- shell指令碼字串和陣列的使用操作方法指令碼字串陣列
- shell切分字串到陣列字串陣列
- Linux教程——Shell中字串與陣列操作例項Linux字串陣列
- shell--函式與陣列函式陣列
- JavaScript 中陣列 sort() 方法的基本使用JavaScript陣列
- toString 方法在陣列中的使用陣列
- Oracle中陣列使用方法Oracle陣列
- 陣列的使用陣列
- Shell陣列是什麼?Linux運維技術學習陣列Linux運維
- Java陣列03:陣列使用Java陣列
- Ruby中的陣列陣列
- Go中的陣列Go陣列
- Java中的陣列Java陣列
- Java中陣列及相關類的使用Java陣列
- Linux 陣列Linux陣列
- Java陣列的使用Java陣列
- Oracle陣列的使用Oracle陣列
- IF 的使用 for Linux ShellLinux
- 演算法基礎:動態規劃陣列中滾動陣列的使用演算法動態規劃陣列