1、定義shell函數(define function)shell
語法:bash
[ function ] funname [()]函數
{spa
action;code
[return int;]io
}編譯
說明:function
一、能夠帶function fun() 定義,也能夠直接fun() 定義,不帶任何參數。class
二、參數返回,能夠顯示加:return 返回,若是不加,將以最後一條命令運行結果,做爲返回值。 return後跟數值n(0-255test
實例(testfun1.sh):
#!/bin/sh
fSum 3 2;
function
fSum()
{
echo
$1,$2;
return
$(($1+$2));
}
fSum 5 7;
total=$(fSum 3 2);
echo
$total,$?;
從上面這個例子咱們能夠獲得幾點結論:
一、必須在調用函數地方以前,聲明函數,shell腳本是逐行運行。不會像其它語言同樣先預編譯。一次必須在使用函數前先聲明函數。
二、total=$(fSum 3 2); 經過這種調用方法,咱們清楚知道,在shell 中 單括號裏面,能夠是:命令語句。 所以,咱們能夠將shell中函數,看做是定義一個新的命令,它是命令,所以 各個輸入參數直接用 空格分隔。 一次,命令裏面得到參數方法能夠經過:$0…$n獲得。 $0表明函數自己。
三、函數返回值,只能經過$? 系統變量得到,直接經過=,得到是空值。其實,咱們按照上面一條理解,知道函數是一個命令,在shell得到命令返回值,都須要經過$?得到。