先来个例子吧!大家先想下回打印出什么“
示例1:
#!/bin/sh
check()
{
local rc=0
if [ $rc -eq 0 ];then
echo hello
return 10
fi
}
if check;then
echo "return is 0"
else
echo "return is 201"
fi
示例2:
#!/bin/sh
check()
{
local rc=0
if [ $rc -eq 0 ];then
echo hello
fi
}
if check;then
echo "return is 0"
else
echo "return is 201"
fi
示例3:
#!/bin/sh
check()
{
local rc=0
if [ $rc -eq 0 ];then
echo hello
return 0
fi
}
if check;then
echo "return is 0"
else
echo "return is 201"
fi
3个例子都是对函数中返回值的判断;
示例1:答案:
hello
return is 201
示例2:
hello
return is 0
示例3:
hello
return is 0
由上面的例子可以说明:当函数正常执行完毕时和返回0时,为真;返回大于0的数;为假;
这里函数返回只能返回非负整数;不相信的话大家可以看看;
下面来讲下函数的定义:
check()
{
}
或者
function check() //有的书上说()可以省略,但是有时候我测试时,不管有没有有这种写法都有错误?不知道什么原因
{
}
这种写法出错的原因可能和SHELL有关 也就是#!/bin/sh 有时候改成其他就没有问题,但是 第一种一直没有问题~
。。。。。。。。。。。。。。。。。。。。。。。。。。。待续~