Function函数实例

函数:function

    把一段独立功能的代码当做一个整体,而后为之取一个名字,命令的代码段,即为函数。

注意:

    定义函数的代码段不会自动执行,在调用时执行;所谓调用函数,在代码中给定函数名即可

    函数名出现的任何位置,在代码执行时,都会被自动替换为函数代码;


过程式编程语言:代码重用即可用到函数

    模块化编程

    结构化编程


函数使用语法:

    语法一:

    function f_name{

    ..函数体

    }

    

    语法二:

    f_name() {

             …函数代码(函数体)

    }

函数的生命周期:

    每次被调用时创建,返回时终止; 

    其状态返回结果为函数体中运行的最后一条命令的状态结果

    自定义状态返回值,需要使用:return

        return:[0-255]

            0:成功

            1-255:失败


示例:给定一个用户名:取得用户的ID号和默认shell

 

   示例2:服务脚本框架

函数的返回值:

    函数的执行结果返回值

    函数名出现的地方能够显示代码执行结果

    (1)使用echo或printf命令进行输出

    (2)函数体中调用的命令的执行结果 

函数的退出状态码:

    (1)默认取决于函数体中执行的最后一条命令的退出状态码

    (2)自定义:return

函数可以接受参数

      传递参数给函数时,在函数体中,可以使用$1,$2,…..,引用传递给函数的参数;还可以使用$*、$@引用所有参数,$#引用传递的参数的个数

      在调用函数时,在函数名后面可以以空白符分割给定参数列表即可,列如,testfunc  arg1 arg2  arg3….   (注意,testfunc 是函数名,arg1 arg2  arg3 是调用函数是传递参数)

示例:添加10个用户

    添加用户的功能使用函数实现,用户名做为参数传递给函数

复习

变量作用域:

    函数为代码引入了一个独立新的作用域,在函数内部存在,有效作用范围只在函数内部。

局部变量:

    作用域是函数的生命周期,在函数结束时被自动销毁

    定义局部变量的方法:local VAR=VALUE

本地变量:

    作用域是脚本的声明周期;

    作用域是运行脚本的shell进程的生命周期。如果没有在脚本中销毁,则脚本的shell进程结束则变量销毁



示例:本地变量和局部变量的区别

函数递归:

    函数直接或间接调用自身

示例:

 阶乘:10的阶乘

    10!=10*9!=10*9*8!=10*9*8*7!=…..

     n!=n*(n-1)!=n*(n-1)*(n-2)!=……

    10!=10*(10-1)!=10*(10-1)*(10-2)=….

斐波切数列:

1.1.2.3.5.8.13.21….n-1+n-2

$[$(fab $[$1-1])+$(fab $[$1-2])]

原创文章,作者:Lii,如若转载,请注明出处:/38162

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-21 22:02

    函数通过先定义,然后通过函数名来进行调用,同时他实现了代码重用和效率提高,这是一个很重要的shell编程思想,需要多写,多练。

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达娱乐主管QQ  万达娱乐直属  万达娱乐注册  万达招商  万达娱乐直属  万达娱乐主管  万达招商  测试  万达娱乐