设为首页 加入收藏

TOP

shell 函数返回值最佳实践
2014-11-24 02:29:28 来源: 作者: 【 】 浏览:0
Tags:shell 函数 返回 最佳 实践

shell函数返回值有三种方式:1、直接return通过$ 来接收返回值;2、定义全局变量,通过全局变量来接收的方式,使用函数返回值。3、echo的方式,通过标准输出来返回。


带来一个问题,哪种方式比较好呢?经过血淋淋的教训,第三种。第一和第二种,假如函数体中用到了管道,则相当于开启了一个子进程。子进程中的修改、返回操作是无法反应到父进程的。所以,老高将在以后的脚本中,只用第三种方法,在shell的函数中返回值。


无图无真相!上一段代码先!


#!/bin/sh
checkInt(){
expr $1 + 0 >/dev/null 2>&1
[ $ -ne 0 ]&&echo 0
echo $1
}
sum=0
while read line
do
tmp=`echo $line|awk '{print $NF}'`
tmp=$(checkInt $tmp)
((sum=$sum+$tmp))
doneecho $sum


相关阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇shell 批量添加用户健壮版 下一篇shell 测试表达式参数速查表

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: