美文网首页
Shell中自定义函数、函数参数及案例讲解

Shell中自定义函数、函数参数及案例讲解

作者: 夜希辰 | 来源:发表于2020-12-27 18:25 被阅读0次

    目录
    一、shell中自定义函数语法
    二、shell函数参数
    三、案例实战

    函数是把一个功能封装起来,使用时直接调用函数名,这样的脚本好处:模块化,代码可读性强,扩展性方便

    在案例实战部分会具体讲解,不带参数的shell函数,带参数的shell函数。

    一、shell中自定义函数语法

    1、shell中自定义函数语法
    2、如何调用函数

    1、shell中自定义函数语法

    在shell 中有两种定义函数的语法格式,分别为:

    语法1:
    function_name ()
    {
        command
        command
        ....
        command
    }
    
    语法2(这样比较规范):
    function function_name()
    {
       command
       command
       ....
       command
    }
    
    ----------------------------------------------------------------------
    举例1:
    function fun1(){
        echo "hello shell!"
    }
    fun1 #调用函数
    fun1
    ----------------------------------------------------------------------
    举例2:
    demoFun(){
        echo "这是我的第一个 shell 函数!"
    }
    echo "-----函数开始执行-----"
    demoFun #调用函数
    

    2、如何调用函数

    1)直接使用函数名调用,可以将其想象成Shell中的一条命令
    2)函数内部可以直接使用参数$1 $2 $n,调用函数:function_name $1 $2

    二、shell函数参数

    和 C++、Python等大部分编程语言不同,Shell 中的函数在定义时不能指明参数,但是在调用时却可以传递参数。

    在函数体内部,可以通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数,依次类推。

    案例1
    #!/bin/bash
    #定义函数
    function show(){
        echo "变量1: $1"
        echo "链接: $2"
        echo "作者: "$3
        echo "总共参数个数$# "
    }
    echo "-----------第一次调用函数-----------------"
    show a "www.baidu.com" Tom
    echo "-------------第二次调用函数----------------"
    show b "www.naixue.com" Jack
    
    
    说明:

    (1)如果函数体内部指定了参数,在调用该函数时需要传参。

    参考文档1:Shell函数参数
    参考文档2:Shell脚本函数定义和函数参数

    三、案例实战

    1、定义一个函数,调用该函数时可打印hello shell!

    不带参数的函数

    #!/bin/bash
    function fun1(){
        echo "hello shell!"
    }
    
    fun1 #调用函数
    fun1
    fun1
    fun1
    
    2、更新中

    最近在知乎看了个回答,喜欢上面的三句话,分享给大家也勉励自己。

    1、强及时反馈会害了自己,比如今天写SQL面试题,构思了4个小时还无从下笔,我在想是不是应该解决Shell自定义函数问题,写书对我是个很好的实战机会,毕竟以后自己也要写书,在难也要坚持下去;比如在学习大数据的时候,这个过程太漫长了,远得看不见终点
    2、《向上生长》谈慢启动。人想进步,最难的地方,就是随时想放弃,为什么想放弃呢?因为看不见进展,不知道自己在进步。而人不管干什么事都有一个慢启动过程,也就是一开始没什么效果,比如我已经持续写下一百多万字,可是当我写前一百万字的时候,完全没人理我,但是我写道第二个一百万字的时候,人们就围过来了。
    慢启动这事,要理解事务发展内在逻辑,要学会不计后果地去做某件事…………相信大家跟我一样,不管做什么事,如果做一段时间,没什么感觉,也不太顺利,就开始怀疑自己没天赋。 这种想法是错误的,你一个普通人,你有啥天赋,你最应该考虑的问题是:
    1)现在是慢启动阶段,要什么自行车?
    2)数量都不够,要什么效果?
    3、社会竞争并不是需要你比所有人都强——绝大部分人又懒又俗,几年都不进步,所以你稍微努力一些,确保超过全社会60%的人。

    下周开始做数仓项目,想去有大数据公司的做数仓。比如极米科技。

    相关文章

      网友评论

          本文标题:Shell中自定义函数、函数参数及案例讲解

          本文链接:https://www.haomeiwen.com/subject/fvponktx.html