函数调用
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)
注意:
- 采用$()方式调用函数,内部echo命令不会输出到标准输出;
- 采用$()方式调用,必须由变量接收,否则报错;
- 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"