程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Shell中函數返回值超出問題

Shell中函數返回值超出問題

編輯:更多關於編程

       這篇文章主要介紹了Shell中函數返回值超出問題,shell中通過return返回是有限制的,最大返回255,超過255,則從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"

      執行結果如下所示:

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved