Shell(五):函數

linux shell 能夠用戶定義函數,而後在shell腳本中能夠隨便調用。linux

shell中函數的定義格式:shell

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

說明:函數

  • 一、能夠帶function fun() 定義,也能夠直接fun() 定義,不帶任何參數。
  • 二、參數返回,能夠顯示加:return 返回,若是不加,將以最後一條命令運行結果,做爲返回值。 return後跟數值n(0-255)

下面的例子定義了一個函數並進行調用: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

另外,還有幾個特殊字符用來處理參數:

相關文章
相關標籤/搜索