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
  1. arr=(aaa@example.com bbb@example.com ccc@example.com)
  • Array 的內容修改
Example
  1. arr[3]="test"
  • Array 的長度計算 ,超怪的寫法,整個就是莫名其妙
Example
  1. ${#arr[@]}
  • 使用 for loop 印出 Array 全部
Example
  1. for ((i=0; i<${#arr[@]}; i++)); do
  2. echo ${arr[$i]}
  3. done
! 改值使用 arr[0] ,取值使用 ${arr[0]} ,又是一個莫名其妙
  • 將文字轉成 Array (雷同php : split , explode)
Example
  1. data="aaa nnn ccc"
  2. arr=(${data// / }); //用空白切割成 Array
  3. length=${#arr[@]}
  4. for(( j=0; j<$length; j++ ))
  5. do
  6. line=${arr[$j]}
  7. echo $line
  8. done

回應 (Leave a comment)