Shell編程入之函數定義格式、函數參數講解,shell函數

來源:互聯網
上載者:User

Shell編程入之函數定義格式、函數參數講解,shell函數

使用者可以用shell定義函數,然後子啊shell指令碼中隨便調用。shell中函數的定義格式如下:

[ function ] funname [()]{    action;    [return int;]}

可以帶 function fun() 定義,也可以直接 fun() 定義,不帶任何參數。 參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作為傳回值。 return 後跟數值 n(0-255)

不含 return
demoFun(){    echo "This is my first function"}echo "-----func start-----"demoFunecho "-----func end-----"
包含 return
funWithReturn(){    echo "add action"    echo "input first num: "    read aNum    echo "input second num: "    read anotherNum    echo "The two nums are $aNum and $anotherNum !"    return $(($aNum+$anotherNum))}funWithReturnecho "The total of two nums are $? "

函數傳回值在調用該函數後通過 $? 來獲得。

注意:所有函數在使用前必須定義。這意味著必須將函數放在指令碼開始部分,直至shell解譯器首次發現它時,才可以使用。調用函數僅使用其函數名即可。

函數參數

在Shell中,調用函數時可以向其傳遞參數。在函數體內部,通過 $n 的形式來擷取參數的值,例如,$1 表示第一個參數,$2 表示第二個參數 ……

funWithParam(){    echo "first : $1 "    echo "second : $2 "    echo "tenth : $10 "    echo "tenth : ${10} "    echo "eleventh : ${11} "    echo "total num : $# "    echo "the single string : $* "}funWithParam 1 2 3 4 5 6 7 8 9 34 73

注意:$10 不能擷取第十個參數,擷取第十個參數需要 ${10} 。當 n>=10 時,需要使用 ${n} 來擷取參數。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.