函式是一段可複用的程式碼。我們通常把重複的程式碼放進函式中並且在不同的地方去呼叫它。庫是函式的集合。我們可以在庫中定義經常使用的函式,這樣其它指令碼便可以不再重複程式碼而使用這些函式。

呼叫函式

在 Shell 中呼叫函式和呼叫其它命令是一模一樣的。例如,如果你的函式名稱為 my_func,你可以在命令列中像下面這樣執行它:

$ my_func

如果你的函式接收多個引數,那麼可以像下面這樣寫(類似命令列引數的使用):

$ my_func arg1 arg2 arg3

定義函式

我們可以用下面的語法去定義一個函式:

function function_name { Body of function }

函式的主體可以包含任何有效的命令、迴圈語句和其它函式或指令碼。現在讓我們建立一個簡單的函式,它向螢幕上顯示一些訊息(注:直接在命令列裡寫)。

function print_msg { echo “Hello, World” }

現在,讓我們執行這個函式:

$ print_msg Hello, World

不出所料,這個函式在螢幕上顯示了一些訊息。

在上面的例子中,我們直接在終端裡建立了一個函式。這個函式也可以儲存到檔案中。如下面的例子所示。

#!/bin/bash function print_msg { echo “Hello, World” } print_msg

我們已經在 function.sh 檔案中定義了這個函式。現在讓我們執行這個指令碼:

$ chmod +x function.sh $ ./function.sh Hello, World

你可以看到,上面的輸出和之前的是一模一樣的。