1、函數
shell中,函數也分為系統函數和用戶自定義函數。而系統函數說白了,就是linux命令
2、系統函數
常見的系統函數有很多,比如文件類的、目錄類等等。這裡以幾個命令做個案例
2.1、案例
在當前目錄創建test目錄,創建成功則打印成功,相反則打印失敗
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
- 執行結果
閱讀更多 iamasb 的文章