08-函数

8.1 函数样例

#!/bin/bash

function my_sum(){
    local a=$1
    local b=$2
    echo $[a+b]
}

my_sum 2 4

Warning

bash中的中return返回的值只能是0-255,返回的是状态码。

8.2 接收函数返回结果

#!/bin/bash

function my_sum(){
        local a=$1
        local b=$2
        echo $[a+b]
}

a=`my_sum 2 4`
echo $a

8.3 接收函数返回的状态码

#!/bin/bash

function is_yes(){

        if [ "$1" == "yes" ] ; then
                return 0
        else
                return 1
        fi
}

is_yes "abc"
echo $?
is_yes "yes"
echo $?

Attention

在函数使用return去返回状态码只是终止了本函数堆栈调用,而exit是退出整个程序。