linux Shell 命令列-07-func 函式

老马啸西风發表於2024-03-13

擴充閱讀

linux Shell 命令列-00-intro 入門介紹

linux Shell 命令列-02-var 變數

linux Shell 命令列-03-array 陣列

linux Shell 命令列-04-operator 運算子

linux Shell 命令列-05-test 驗證是否符合條件

linux Shell 命令列-06-flow control 流程控制

linux Shell 命令列-07-func 函式

linux Shell 命令列-08-file include 檔案包含

linux Shell 命令列-09-redirect 重定向

函式

[ function ] 函式名 [()]

{

    動作;

    [返回值;]

}

示例

#!/bin/sh

# 函式演示

firstFunc() {
    echo "這是我的第一個 Shell 函式。"
}

echo "函式開始"
firstFunc
echo "函式結束"

執行

houbinbindeMacBook-Pro:shell houbinbin$ vi function.sh
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x function.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./function.sh
函式開始
這是我的第一個 Shell 函式。
函式結束

帶返回值的函式

#!/bin/sh


# 帶返回值的函式

funcWithReturnVal() {
    echo "輸入第一個數字: "
    read firstNum
    echo "輸入第二個數字: "
    read secondNum
    return $(($firstNum+$secondNum))
}

echo "帶返回值的函式開始:"
funcWithReturnVal
returnVal=$?
echo "結果: $returnVal"

執行

houbinbindeMacBook-Pro:shell houbinbin$ ./funcWithReturnVal.sh
帶返回值的函式開始:
輸入第一個數字:
1
輸入第二個數字:
2
結果: 3

帶引數的函式

#!/bin/sh

# 帶引數的函式

hasParam() {
    echo "所有引數為 $*"

    if [ $# -gt 0 ]
    then
    echo "有引數"
    return 1
    else
    echo "沒有引數"
    return 0
    fi
}

hasParam 1 2 3

執行

houbinbindeMacBook-Pro:shell houbinbin$ vi funcWithParam.sh
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x funcWithParam.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./funcWithParam.sh
所有引數為 1 2 3
有引數

使用$n獲取引數值,當 n >= 10 時,使用 ${n}

本文由部落格一文多發平臺 OpenWrite 釋出!

相關文章