Linux shell 自定義函數

1、定義shell函數(define function)shell

語法:bash

[ function ] funname [()]函數

{spa

    action;code

    [return int;]io

}編譯

說明:function

一、能夠帶function fun()  定義,也能夠直接fun() 定義,不帶任何參數。class

二、參數返回,能夠顯示加:return 返回,若是不加,將以最後一條命令運行結果,做爲返回值。 return後跟數值n(0-255test

 

實例(testfun1.sh):

#!/bin/sh
  
  fSum 3 2;
  function  fSum()
  {
      echo  $1,$2;
      return  $(($1+$2));
  }
  fSum 5 7;
  total=$(fSum 3 2);
  echo  $total,$?;
                  

從上面這個例子咱們能夠獲得幾點結論:

一、必須在調用函數地方以前,聲明函數,shell腳本是逐行運行。不會像其它語言同樣先預編譯。一次必須在使用函數前先聲明函數。

二、total=$(fSum 3 2);  經過這種調用方法,咱們清楚知道,在shell 中 單括號裏面,能夠是:命令語句。 所以,咱們能夠將shell中函數,看做是定義一個新的命令,它是命令,所以 各個輸入參數直接用 空格分隔。 一次,命令裏面得到參數方法能夠經過:$0…$n獲得。 $0表明函數自己。

三、函數返回值,只能經過$? 系統變量得到,直接經過=,得到是空值。其實,咱們按照上面一條理解,知道函數是一個命令,在shell得到命令返回值,都須要經過$?得到。

相關文章
相關標籤/搜索