參考:
「sum=$(fsum 2 5)」這種方式,是將標準輸出(echo 出來的東子)傳遞給主程式的變數,而不是返回值!
#!/bin/bash指令碼執行結果: ret_val = $(sum 10 20) 將sum 10 20 的輸出傳遞給變數ret_valfunction sum()
#call function with 2 parameters and it return 1 parameter.
ret_val=$(sum 10 20)
echo $ret_val
#!/bin/bash執行指令碼 c.shprod=1
twopow()
echo "enter a number"
read num
twopow $num
echo $prod
shell的函式在使用之前必須先定義,定義格式:12
345[ function ] funname [()]
示例1
2345
6789
10fsum
2
5
fsum()
sum=$(fsum
2
5
)
echo $?
echo
"sum=$sum"
執行輸出:
fsum: not found從上面這個例子我們可以得到幾點結論:7sum=2,5
shell函式可以在指令碼檔案中使用之前定義它,也可以把函式定義在乙個獨立的檔案使用點號(.)命令來引用它。如function.sh和testshell.sh在同一目錄中,function.sh12
34fsum()
testshell.sh12
3#! /bin/sh
. ./function.sh
fsum
2
5
shell自定義函式
1 語法 function funname action return int 2 說明 1 必須在呼叫函式地方之前,先宣告函式,shell指令碼是逐行執行。不會像其它語言一樣先預編譯 2 函式返回值,只能通過 系統變數獲得,可以顯示加 return 返回,如果不加,將以最後一條命令執行結果,作為返...
Shell自定義函式
函式定義 function funname 函式呼叫 funname注 1 在呼叫函式地方之前,先宣告函式,shell指令碼是逐行執行。2 函式返回值,只能通過 系統變數獲得,可以顯示加 return返回,如果不加,將以最後一條命令執行結果,作為返回值,return後跟數值n 0 255 mubai...
shell指令碼如何自定義函式
在寫程式時,經常會用到函式,一般開發工具擁有豐富的函式庫。但有時還需要根據自己的需要自定義函式滿足我們的需求。在linux中,寫shell指令碼也一樣,有時會用到自定義函式。函式,最簡單的定義為 將一組命令集或語句形成乙個可用塊,這些塊稱為函式。1 定義函式的格式 sql view plain co...