zoukankan      html  css  js  c++  java
  • shell编程 之 函数

    1 函数基本格式

        个人认为,编程中的函数基本上有3种,第一种是糖葫芦函数,一根棒棒串起来,执行一次就是走个过场,吃完了糖葫芦就没别的事了,第一种基本就是这样的:

        它没有参数,没有返回值。

    demoFun(){        #这是函数名,括号里不加参数
        echo "这是我的第一个 shell 函数!"        #这是函数主体,前一行后一行有大括号
    }
    demoFun        #函数名直接调用函数
    

        第二种是抓娃娃机函数,没有参数,直接一顿操作return出结果来:

    funWithReturn(){
        read aNum
        read anotherNum
        echo "两个数字分别为 $aNum 和 $anotherNum !"
        return $(($aNum+$anotherNum))    #返回和,初步理解为把数字之和封装在参数中,不然没法打印,详见后面
    }
    funWithReturn    
    echo "输入的两个数字之和为 $? !"    #$?为return的执行状态,是0表示没有问题,不是0表示有问题
    
    a=1
    b=2
    c=$(($a + $b))
    echo $c    #结果是3
    

      第三种是变压器参数,进去的是220V的电,出来的是啥看return

        

    funWithParam(){
        echo "第一个参数为 $1 !"
        echo "第二个参数为 $2 !"
        echo "第十个参数为 $10 !"
        echo "第十个参数为 ${10} !"
        echo "第十一个参数为 ${11} !"
        echo "参数总数有 $# 个!"
        echo "作为一个字符串输出所有参数 $* !"
    }
    funWithParam 1 2 3 4 5 6 7 8 9 34 73
    #此处有点像传递参数到脚本里,没有形参,直接留出空来(就是$1,$2...)传递就行了,此外传递参数到脚本里的
    #那些特殊符号如$#,$*...还可以照用。详见后文
    #最多支持9个函数,第十个往后需要加大括号,没啥原因,规定。${11}
    

      函数中支持的参数

        $# 传递到脚本的参数个数
        $* 以一个单字符串显示所有向脚本传递的参数
        $$ 脚本运行的当前进程ID号
        $! 后台运行的最后一个进程的ID号
        $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
        $- 显示Shell使用的当前选项,与set命令功能相同。
        $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。即使函数中没有return也可以用。

  • 相关阅读:
    chrome webkitappearance
    图片占用内存
    javascript性能优化repaint和reflow
    vim 系统剪切板
    CSS选择符的命名(转载)
    relative 内部 margin
    中国软件企业
    dom元素排序
    shell
    tips for asm
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/9264453.html
Copyright © 2011-2022 走看看