shell 函数返回值的方法
2008-01-10 23:28
295 查看
shell 函数返回值的方法
从shell函数中返回的数值的方法不多,有本书书里说只有写入文件或者全局变量。(The only way to return a value to the calling program is to write it to a file (or standardoutput) and have the calling program read (or assign) the value back into a variable. )本文总结了即总方法:1.echo 法, 2.全局变量法,并给出了实例。其他方法以后再慢慢补充。
1. echo 法
在被调用函数中需要返回的值,使用echo将其显示至stdout,然后在调用的地方再使用`func var1`获得stdout中的值,获得值可以直接赋值给变量。例如:
#!/bin/bash
# Author: Aaron.Cheng
# Date: 2007-1-10
# Check
# Core
# echo法,返回一个字符串的长度
varCnt()
{
var=$1 ret=0
if [ "$var" != "" ] ; then
ret=${#var}
fi
echo $ret
}
main()
{
printf "varCnt's 's return value is %s " `varCnt ""`
printf "varCnt's 's return value is %s " `varCnt "1234"`
}
main
# Clear
exit 0
2. 全局变量法
这个比较简单,声明一个全局变量 declare -i g_ret ,在function的返回值存储在全局变量中。调用处在函数执行完后,使用就可以了。例如:
#!/bin/bash
# Author: Aaron.Cheng
# Date: 2007-1-10
# Check
# Core
# echo法,返回一个字符串的长度
declare -i g_ret=0
varCntGlobeVar()
{
var=$1
if [ "$var" != "" ] ; then
g_ret=${#var}
fi
}
main()
{
varCntGlobeVar ""
printf "varCntGlobeVar's 's return value is %d " $g_ret
varCntGlobeVar "1234"
printf "varCntGlobeVar's 's return value is %d " $g_ret
}
main
# Clear
exit
3. other.....in building..............:-)
从shell函数中返回的数值的方法不多,有本书书里说只有写入文件或者全局变量。(The only way to return a value to the calling program is to write it to a file (or standardoutput) and have the calling program read (or assign) the value back into a variable. )本文总结了即总方法:1.echo 法, 2.全局变量法,并给出了实例。其他方法以后再慢慢补充。
1. echo 法
在被调用函数中需要返回的值,使用echo将其显示至stdout,然后在调用的地方再使用`func var1`获得stdout中的值,获得值可以直接赋值给变量。例如:
#!/bin/bash
# Author: Aaron.Cheng
# Date: 2007-1-10
# Check
# Core
# echo法,返回一个字符串的长度
varCnt()
{
var=$1 ret=0
if [ "$var" != "" ] ; then
ret=${#var}
fi
echo $ret
}
main()
{
printf "varCnt's 's return value is %s " `varCnt ""`
printf "varCnt's 's return value is %s " `varCnt "1234"`
}
main
# Clear
exit 0
2. 全局变量法
这个比较简单,声明一个全局变量 declare -i g_ret ,在function的返回值存储在全局变量中。调用处在函数执行完后,使用就可以了。例如:
#!/bin/bash
# Author: Aaron.Cheng
# Date: 2007-1-10
# Check
# Core
# echo法,返回一个字符串的长度
declare -i g_ret=0
varCntGlobeVar()
{
var=$1
if [ "$var" != "" ] ; then
g_ret=${#var}
fi
}
main()
{
varCntGlobeVar ""
printf "varCntGlobeVar's 's return value is %d " $g_ret
varCntGlobeVar "1234"
printf "varCntGlobeVar's 's return value is %d " $g_ret
}
main
# Clear
exit
3. other.....in building..............:-)
相关文章推荐
- shell 函数返回值的方法
- 【shell】获取函数返回值的两种方法
- WORD Application.Documents.Open函数返回null的一种解决方法
- 如何使一个函数或方法同时返回多个不同类型的值
- 关于VB调用Access的Rnd函数随机返回表中数据的解决方法
- C语言中函数返回字符串的四种方法
- C语言获取Shell返回结果的实现方法
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法
- 函数返回数组的方法
- Windows中openProcess函数返回ERROR_ACCESS_DENIED的解决方法
- Scala中apply方法以及函数返回有无unit的区别
- 如何设计PHP业务模块(函数/方法)返回结果的结构?
- SpringMVC 函数返回值问题,返回Json解决方法
- system函数返回(如何判断调用的shell命令是否执行成功)
- C语言中函数返回字符串的四种方法
- C语言中函数返回局部变量的方法
- 函数中返回字符串的方法
- C#取得一个函数或方法的参数类型参数名称返回值类型
- SQL中函数返回表,传递一个参数,无法唤醒用户自定义函数,解决方法!
- 笨方法学Python 习题 21: 函数可以返回东西