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)