Shell中函数返回值超出问题

所属分类: 脚本专栏 / linux shell 阅读数: 336
收藏 0 赞 0 分享

1、前言

  快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了。为了鞭策自己成长,还是要坚持写写博客,记录自己的成长。

2、shell函数介绍

语法:

复制代码 代码如下:

 [ function ] funname [()]
{
  action;
    [return int;]
 }
 

说明:

(1)可以带function fun()  定义,也可以直接fun() 定义,不带任何参数。

(2)参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255),还可以通过echo 直接返回。

3、注意

      shell中通过return返回是有限制的,最大返回255,超过255,则从0开始计算。

今天在工作中犯了这个错误,导致输出的值不对,被测试部提bug。

shell脚本调用例子:

复制代码 代码如下:

#!/bin/sh

echo "shell function operation"

func1()
{
    local num1=100
    local num2=100

    let sum=$num1+$num2
    return $sum
}

func2()
{
    local num1=100
    local num2=155
    let sum=$num1+$num2
    return $sum
}

func3()
{
    local num1=100
    local num2=156
    let sum=$num1+$num2
    return $sum
}

func4()
{
    local num1=100
    local num2=156

    let sum=$num1+$num2
    echo $sum
}

func1
echo "called func1:$?"

func2
echo "called func2:$?"

func3
echo "called func3:$?"

sum=`func4`
echo "called func4:$sum"

执行结果如下所示:

更多精彩内容其他人还在看

php编译安装常见错误大全和解决方法

这篇文章主要介绍了php编译安装常见错误大全和解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux base shell重定向详解

这篇文章主要介绍了Linux base shell重定向的相关资料,并用一个简明例子总结了常见用法(在第三节),需要的朋友可以参考下
收藏 0 赞 0 分享

Linux Shell 常见的命令行格式简明总结

这篇文章主要介绍了Linux Shell 常见的命令行格式简明总结,非常实用,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell 命令替换的两种方式

这篇文章主要介绍了Shell 命令替换的两种方式,需要的朋友可以参考下
收藏 0 赞 0 分享

Python创建、删除桌面、启动组快捷方式的例子分享

这篇文章主要介绍了Python创建、删除桌面、启动组快捷方式的例子分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell基础学习中的字符串操作、for循环语句示例

这篇文章主要介绍了shell基础学习中的字符串操作、for循环语句示例
收藏 0 赞 0 分享

shell脚本中28个特殊字符的作用简明总结

这篇文章主要介绍了shell脚本中28个特殊字符的作用简明总结,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell流程控制语句实例讲解(if、for、while、case语句实例)

linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法
收藏 0 赞 0 分享

分享一个实用的iptables脚本(各种过滤写法参考)

这篇文章主要介绍了分享一个实用的iptables脚本(各种过滤写法参考),需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本实现ssh自动登录功能分享

mac下没有找到好用的类似secureCRT,就自己写了个自动登录的脚本,分享一下,如果是新浪的,就基本不用修改代码就直接能用
收藏 0 赞 0 分享
查看更多