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