- 论坛徽章:
- 0
|
通过读寂寞大侠给的连接, 大致明白了,谢谢寂寞大侠,(也希望走过路过的,不白进来,不对的地方,也请指正。。。)
教材里说:
======
**退出和返回
退出状态(exit status)
函数返回一个被称为退出状态的值. 退出状态可以由return来指定statement, 否则函数的退出状态是函数最后一个执行命令的退出状态(0表示成功,非0表示出错代码). 退出状态(exit status)可以在脚本中由$? 引用. 这个机制使脚本函数也可以像C函数一样有一个"返回值".
return
终止一个函数.return 命令[1]可选地带一个整数参数,这个整数作为函数的"返回值"返回给调用此函数的脚本,并且这个值也被赋给变量$?.
教材里还说:
=======
** 为了函数可以返回字符串或是数组,用一个可在函数外可见的变量.
** 函数最大可返回的正整数为255. return 命令与退出状态(exit status)的概念联系很紧密,而退出状态的值受此限制。幸运地是有多种(工作区workarounds)来对付这种要求函数返回大整数的情况.
所以,我的这两个函数, 一个是返回一个数值,所以成功,另一个返回的是字符串,看来shell 里不支持函数返回字符串!需要的时候,必须用个"全局变量"! |
|