2012
Jan
05
Shell Script 的 Array 和一般語言的 Array 用法,落差非常的大,這也代表他非常的難用,難用! 難用! 或者是說不習慣吧,有寫過 c or php or javascript 的人,應該都會很不習慣 shell script 這種鬼寫法,不但難寫,又容易出錯,不過呢!很不幸的幾乎所有的 Linux 系統都支援 Shell script ,如果你要在各種不同的機器都能運作,或是給不懂程式的人去執行,shell script 算是最容易執行的程式了,反正加上 sh xxx.sh 就能執行,不用安裝什麼特別的程式。
其實 Perl 也是大多數 Linux 系統會安裝的內建程式,不過又很不幸的,我也不會寫 Perl,所以我只好學了一點點 Shell Script ,寫給別人去執行 QQ,接下來的語法都是使用 Bash 去執行,其他還有 ksh,csh,tcsh等等的東東,我也都不會!!!!。
- Array 的宣告方式
Example
- arr=(aaa@example.com bbb@example.com ccc@example.com)
- Array 的內容修改
Example
- arr[3]="test"
- Array 的長度計算 ,超怪的寫法,整個就是莫名其妙
Example
- ${#arr[@]}
- 使用 for loop 印出 Array 全部
Example
! 改值使用 arr[0] ,取值使用 ${arr[0]} ,又是一個莫名其妙
- for ((i=0; i<${#arr[@]}; i++)); do
- echo ${arr[$i]}
- done
- 將文字轉成 Array (雷同php : split , explode)
Example
- data="aaa nnn ccc"
- arr=(${data// / }); //用空白切割成 Array
- length=${#arr[@]}
- for(( j=0; j<$length; j++ ))
- do
- line=${arr[$j]}
- echo $line
- done