现在的位置: 首页 > 综合 > 正文

shell 函数的参数和返回值

2014年03月22日 ⁄ 综合 ⁄ 共 678字 ⁄ 字号 评论关闭

  先来个例子吧!大家先想下回打印出什么“

示例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 有时候改成其他就没有问题,但是 第一种一直没有问题~
 
。。。。。。。。。。。。。。。。。。。。。。。。。。。待续~ 

 

 

抱歉!评论已关闭.