linux shell 能夠用戶定義函數,而後在shell腳本中能夠隨便調用。linux
shell中函數的定義格式:shell
[ function ] funname [()] { action; [return int;] }
說明:函數
下面的例子定義了一個函數並進行調用:spa
demoFun(){ echo "jia是否是很會踢足球" } echo "-----函數開始執行-----" demoFun echo "-----函數執行完畢-----"
下面定義一個帶有return語句的函數:code
funWithReturn(){ echo "這個函數會對輸入的兩個數字進行相加運算..."
echo "輸入第一個數字: " read aNum echo "輸入第二個數字: " read anotherNum echo "兩個數字分別爲 $aNum 和 $anotherNum !" return $(($aNum+$anotherNum)) } funWithReturn echo "輸入的兩個數字之和爲 $? !" # 函數返回值在調用該函數後經過 $? 來得到
注意:全部函數在使用前必須定義。這意味着必須將函數放在腳本開始部分,直至shell解釋器首次發現它時,才能夠使用。調用函數僅使用其函數名便可。blog
函數參數:字符串
在Shell中,調用函數時能夠向其傳遞參數。在函數體內部,經過 $n 的形式來獲取參數的值,例如,$1表示第一個參數,$2表示第二個參數...it
帶參數的函數示例:io
funWithParam(){ echo "第一個參數爲 $1 !"
echo "第二個參數爲 $2 !"
echo "第十個參數爲 $10 !"
echo "第十個參數爲 ${10} !"
echo "第十一個參數爲 ${11} !"
echo "參數總數有 $# 個!"
echo "做爲一個字符串輸出全部參數 $* !" } funWithParam 1 2 3 4 5 6 7 8 9 34 73
注意,$10 不能獲取第十個參數,獲取第十個參數須要${10}。當n>=10時,須要使用${n}來獲取參數。function
另外,還有幾個特殊字符用來處理參數: