歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

SHELL編程-函數

1. 函數定義

shell允許將一組命令集或語句形成一個可用塊,這些塊稱為shell函數
    定義函數的格式:

    function-name (){
        command1
        ........
    }
    或 function function-name(){ #函數名前面多了個function關鍵字
        command1
        ........
    }


2.函數調用
    以下是一個函數的腳本實例:
    #!/bin/bash
    #hello
    function hello(){      #聲明函數
      echo "Hello!"    #函數的主體,輸出"Hello!"
    }              #函數結束
    hello            #調用函數


3.參數傳遞
  向函數傳遞參數就像在腳本是使用變量位置$1,$2,$3...$9
  以下是一個傳遞參數的實例:
  #!/bin/bash
  #hellofun
  function hello(){
      echo "Hello! The first parameter is '$1'."
  }
  hello good
  #該腳本執行的結果是: Hello! The first parameter is 'good'.


4.函數文件
  保存函數的文件,用以上的例子寫成一個函數文件如下:
  #!/bin/bash
  #hellofunction
  function hello(){
    echo "Hello!"
    return 1
  }
  上面的hellofunction文件就是一個函數文件,可通過另一個腳本來調用
  #!/bin/bash
  #hellof
  . hellofunction #注意點和hellofunction之間有個空格
  hello


5.載入和刪除
  用set查看已載入的函數
  用unset function-name 取消載入
  舉例如下:
#!/bin/bash
  #hellof
  . hellofunction
  unset
  hello  #因為已經取消載入。。所以會出錯

 

6.從調用函數中返回

當函數完成處理或希望函數基於某一測試語句返回時,可做兩種處理:

1) 讓函數正常執行到函數末尾,然後返回腳本中調用函數的控制部分。

2) 使用r e t u r n返回腳本中函數調用的下一條語句,可以帶返回值。0為無錯誤,1為有錯誤。

這是可選的,與最後狀態命令報表例子極其類似。其格式為:

return從函數中返回, 用最後狀態命令決定返回值。

return 0 無錯誤返回。

return 1 有錯誤返回


7.函數返回值測試
  #!/bin/bash
  #hellofun
  function hello(){
    echo "Hello! The first parameter is '$1'."
  }
  hello
  echo $?  #輸出返回的狀態值(一般成功是返回0,其它值為失敗)

Copyright © Linux教程網 All Rights Reserved