shell函数的使用

来源:互联网 发布:遗传算法的matlab程序 编辑:程序博客网 时间:2024/05/29 14:52

作为一种完整的编程语言,shell提供了函数的功能,使得脚本结构看起来清晰明了。

一、shell函数的定义:

1.

function funcname()

{

shell commands

}

2.

funcname(){

shell commands

}

注意:不像其他语言,()内是没有参数的

eg:

testfunction(){

echo ”Hello,girl!"

}


二、函数的调用与执行

调用shell函数时仅使用其函数名即可。请看shell函数的调用

eg:

testfunction()

{

money=$1

echo money

}

testfunction $num

这里$num作为函数的实参传递给函数testfunction,也可以有$2、$3。。。。。


三、函数的返回

当函数执行完毕后,可以通知使用者函数的执行情况。在函数中使用return语句,可以完成这个功能。

1.return 

从函数中返回,上一条语句的执行状态决定返回值

2.return 0

返回值为0,一般表示无错误返回

3.return 1

返回值为1,一般表示有错误返回


四、函数的执行
  为了让shell解释器尽快发现它,必须将函数放在脚本的开始部分,即在使用函数之前必须先定义。
看一个例子:该程序实现 f(x) = 2f(x-1) + x * x 这样一个函数,通过传入 参数 x计算 表达式的值

function f()

{

    local num="$1"

    if [ $num =0 ] 

    then

        ret=0

    else

        let "dec=num-1"

        f $dec

        let "ret=$? * 2 + $1 * $1"  #‘$?’ 是上一次函数的返回值

    fi

    return $ret

}

for((i=0; i<10; i++)) #注意for循环的两层“()”

do    

    f $i           #不要忘了加‘$’

    echo $?

    echo  

done

运行结果:

0

1

6

21

58

141

注意:与C语言的不同,不是‘==’,条件判断要有空格 赋值等号之间不要加空格


0 0
原创粉丝点击