shell编程---函数调用

                            函数调用

1、函数定义及调用

1.1 定义方式1

#! /bin/bash
#function define and call  usage instance

print_func()
{
    echo "print_func..."
    echo "\$0:$0..."
    echo "\$1:$1..."
    echo "\$2:$2..."
}


init_func()
{
    echo "init_func..."
    echo "$0"
    echo "$1"
    echo "$2"
    return $?
}

echo call function
print_func

echo call function
init_func "par1" "par2"
init_func 1 2

  

注意:函数一般返回$?给调用者。

1.2 定义方式2

#! /bin/bash
#function define and call  usage instance

function sum()
{
    let y=$1+$2
    echo $y
    return $?
}
echo "Welcome to shell script programming..."
#delay 1 second
sleep 1

sum_value=$(sum 1 2)

echo "sum value is :"$sum_value""

if [ "$sum_value" -gt 0 ];then
    echo "sum_value="$sum_value""
fi

echo "value of y is : $y"

echo "========================"

sum 2 3
echo "value of y is : $y"

注意:通过function表明定义函数

2、函数调用注意事项

#! /bin/bash
#function define and call  usage instance

sum()
{
    let y=$1+$2
    echo "$y"
    return $?
}
echo "Welcome to shell script programming..."
#delay 1 second
sleep 1

sum_value=$(sum 1 2)

echo "sum value is :$sum_value"

if [ $sum_value -gt 0 ]
then
    echo "sum_value=$sum_value"
fi

echo "============================"
sum 1 2

echo "############################"
$(sum 4 5)

注意:

  1. 采用$()方式调用函数,内部echo命令不会输出到标准输出;
  2. 采用$()方式调用,必须由变量接收,否则报错;
  3. echo ?返回值为函数内紧跟return语句的echo输出值。

3、函数调用方法区别

#! /bin/bash
#function define and call  usage instance

sum()
{
    let y=$1+$2
    echo $y
    return $?
}
echo "Welcome to shell script programming..."
#delay 1 second
sleep 1

sum_value=$(sum 1 2)

echo "sum value is :"$sum_value""

if [ "$sum_value" -gt 0 ];then
    echo "sum_value="$sum_value""
fi

echo "value of y is : $y"

echo "========================"

sum 2 3
echo "value of y is : $y"

猜你喜欢

转载自blog.csdn.net/yanlaifan/article/details/114553682
今日推荐