分享提纲:
1. shell中的函数
2. shell中的数组
1.1)【定义shell函数(define function)】
[ function ] funname [()] { action; [return int;] }
说明:
实例(testfun1.sh):
1 #!/bin/sh 2 3 fSum 3 2; 4 function fSum() 5 { 6 echo $1,$2; 7 return $(($1+$2)); 8 } 9 fSum 5 7; 10 total=$(fSum 3 2); 11 echo $total,$?; 12 13 sh testfun1.sh 14 testfun1.sh: line 3: fSum: command not found 15 5,7 16 3,2 17 1 18 5
从上面这个例子我们可以得到几点结论:
1.2)【函数作用域,变量作用范围】
先我们看一个实例(testfun2.sh ):
1 #!/bin/sh 2 3 echo $(uname); 4 declare num=1000; 5 6 uname() 7 { 8 echo "test!"; 9 ((num++)); 10 return 100; 11 } 12 testvar() 13 { 14 local num=10; 15 ((num++)); 16 echo $num; 17 18 } 19 20 uname; 21 echo $? 22 echo $num; 23 testvar; 24 echo $num; 25 26 sh testfun2.sh 27 Linux 28 test! 29 100 30 1001 31 11 32 1001
我们一起来分析下上面这个实例,可以得到如下结论:
2.1)【数组的定义】
两种方法
arr=(1 2 3 4 5) # 注意是用空格分开,不是逗号!!
和
array array[0]="a" array[1]="b" array[2]="c"
2.2)【数组的遍历】
for var in ${ arr[@] }; do echo $var done
原文:http://www.cnblogs.com/aiweixiao/p/6363239.html