一.
1 var="UNIX" #全局变量
2 func()
3 {
4 lib="fflg" #局部变量
5 if [ X$var = X"flg" ];then #函数内使用全局变量var
6 echo "Right"
7 else
8 echo "Worng"
9 echo "Modify the 'var' to 'Linux'" #修改全局变量var的值
10 var="Linux"
11 fi
12 }
13 func; #执行函数
14
15 echo ${lib} #打印局部变量lib的值为:fflg,函数内定义的变量在函数外也可以使用
16 echo $var #打印全局变量var,var的值已经被修改为:Linux,函数体可以对全局变量进行操作
结果如下:
Worng
Modify the 'var' to 'Linux'
fflg
Linux
二.
1 func1()
2 {
3 func2;
4 if [ $var = "fflg" ]
5 then
6 echo "var = $var"
7 else
8 echo "var err"
9 fi
10 }
11
12 func2()
13 {
14 var="fflg"
15 }
16
17 func1; #主程序
结果:
$sh re.sh
var = fflg
所有的函数都应该在主程序运行之前定义.例:在主程序func1 执行之前,函数func1,func2都已定义.
但不要求func2一定要在func1之前定义.