shell函数的使用

1、函数申明和调用

#!/bin/bash     

function fun_add  #定义方法1
{
    echo $[ $1 + $2 ]
}

value=`fun_add $1 $2`  #调用方法
echo $value

fun_dec()       #定义方法2
{
    echo $[ $1 - $2 ]
}


value=`fun_dec $1 $2` #向函数传递参数,此处为【反引号】,而不是单引号
echo $value

2、返回值

#!/bin/bash     
double()
{
    read -p "Enter a value:" value   # 接收输入
    value2=$[ $value * 2 ]
    return $value2
}

double
echo $?      #函数的返回值
echo $value2

ps:
1、获得函数的返回值,必须在函数调用完成后立马echo $?
2、函数的返回值必须在0~255之间,不然会出错

3、局部变量与全局变量

#!/bin/bash     
function localfuc
{
    local value=99  #局部变量,函数体内有效 
}

function allfuc
{
    value=99    #全局变量
}

value=10
echo $value   #10

localfuc
echo $value  #10

allfuc
echo $value  #99

4、库函数

myfun.sh:

#!/bin/bash     

function addem
{
    echo $[ $1 + $2 ]
}

function decem
{
    echo $[ $1 - $2 ]
}

function multem
{
    echo $[ $1 * $2 ]
}

function divem
{
    if [ $2 -ne 0 ]
    then
        echo $[ $1 / $2 ] 
    else
        echo -1
    fi
}

testmyfun.sh:

#!/bin/bash     

#source myfun.sh  #方法1,在当前shell的上下文中引用库
. ./myfun.sh      #方法2

value1=10
value2=5

result1=`addem $value1 $value2`
result2=`decem $value1 $value2`
result3=`multem $value1 $value2`
result4=`divem $value1 $value2`

echo $result1 $result2 $result3 $result4

输出:
15 5 50 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值