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-函數


分享到:


相關文章: