zoukankan      html  css  js  c++  java
  • shell入门之函数应用 分类: 学习笔记 linux ubuntu 2015-07-10 21:48 77人阅读 评论(0) 收藏

    最近在学习shell编程,文中若有错误的地方还望各位批评指正。

    先来看一个简单的求和函数


    #!/bin/bash
    #a test about function
    f_sum 7 8
    function f_sum(){
       return $(($1+$2));
    }
    f_sum 3 5;
    total=$(f_sum 3 6);
    echo $total,$?;

    这里写图片描述


    注意几个问题:
    1.shell是逐行执行,所以要在函数声明之后才可调用,否则会有错误
    2.我们要获得函数的返回值只能通过$?来获得,不可以通过变量拿到返回值。


    再看看关于变量作用域的测试:

    #!/bin/bash
    #a test about function
    echo $(uname)
    num=100
    uname(){
       echo "my name is lenve"
       ((num++))
       return 250
    }
    changeVar(){
      local num=20
       ((num++))
       echo $num
    }
    uname;
    echo $?
    echo $num;
    changeVar;
    echo $num;

    输出:
    这里写图片描述


    要点:
    1.第一个输出Linux是第一行代码执行的结果,这是调用了系统函数
    2.调用uname,系统会优先调用这个脚本中的函数,找到了直接调用,找不到再找系统函数。于是输出my name is lenve
    3.250是uname函数的返回值
    4.101是由于num在uname函数中自增1导致的
    5.21表示如果函数中定义了与函数外部同名的变量,函数内部使用的是内部定义的变量而不是全局变量
    6.101进一步佐证了第5点


    版权声明:本文为博主原创文章,未经博主允许不得转载。若有错误地方,还望批评指正,不胜感激。

  • 相关阅读:
    刷面经笔记2019.02.11
    刷面经笔记2019.02.10
    刷面经笔记2019.02.09
    刷面经笔记2019.02.07
    刷面经笔记2019.02.05
    刷面经笔记2019.01.31
    刷面经笔记2019.01.30
    刷面经笔记2019.01.28
    头条2020届实习生笔试题
    金s办公软件web前端笔试题
  • 原文地址:https://www.cnblogs.com/lenve/p/4646274.html
Copyright © 2011-2022 走看看