shell-函式

1、函式

shell中,函式也分為系統函式和使用者自定義函式。而系統函式說白了,就是linux命令

2、系統函式

常見的系統函式有很多,比如檔案類的、目錄類等等。這裡以幾個命令做個案例

2.1、案例

在當前目錄建立test目錄,建立成功則列印成功,相反則列印失敗

shell-函式

3、自定義函式

3.1、基本格式

宣告函式

[ function ] funname[()]

{

todo;

[return int;]

}

呼叫函式

funcname [引數1 引數2 。。。]

備註: []說明可以省略,當在宣告中,function和函式名後的(),可以同時存在,也可以存在其中一個

3.2、注意

必須在呼叫函式地方之前,先宣告函式,shell檔案是逐行執行。不會像其它語言一樣先編譯。

函式返回值,只能透過$?系統變數獲得,可以顯示加:return返回,如果不加,將以最後一條命令執行結果,作為返回值。return後跟數值n(0-255)

函式獲取傳入引數跟傳遞給shell檔案的方式一樣

3.3、案例

編寫函式,接受引數並實現累加操作

原始碼

#!/bin/bash

toDoSum()

{

# 判斷傳入引數的個數

if [ $# -lt 2 ];then

echo “傳入的引數不能小於兩個”

exit 0

fi

i=$1

s=0

while [ $i -le $2 ]

do

s=$[$s+$i]

i=$[$i+1]

done

echo $1“累加到”$2“的值為:”$s

}

toDoSum 1 5

toDoSum 1

執行結果

shell-函式