zoukankan      html  css  js  c++  java
  • shell入门之函数应用

    最近在学习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点


  • 相关阅读:
    个人项目作业
    自我介绍+软工五问
    Word Count
    个人简介+软工五问
    小学生算术题生成器
    个人项目-WC
    个人简历+软工五问
    学习有感
    学习爱我
    软件工程学习记录
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461791.html
Copyright © 2011-2022 走看看