微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell_09--函数

函数
1、函数介绍function
     为了避免代码重复使用,我们一般通过函数编写代码块,而这一个代码块用来实现某种功能
     且,这个功能在后面的代码中,会重复调用
 
     def

2、函数的语法格式
   函数的写法格式:
     function check_cpu {
        cat /proc/cpuinfo
     }
     ls /etc/
     check_cpu 【不调用函数,则函数体中的命令是不会执行的;在哪里调用函数体中的命令就在那里执行】      *fun_name() {
         函数
         $1 $2 ... $10
     }
     fun_name 1 2 3
     :wq
     function.sh 4 5 6 7 8 9 10 11 12 13 14   3、函数调用  -- return
   函数返回值
     1、当函数中指定了判断语句的时候,我们认要返回一个错误的结果,但是最近一条命令确实正确的,这时候,我们需要通过  return返回一个我们需要的错误状态码;
     2、函数结束的时候,我们需要指定一个return的正确返回码;
 如果使用在循环语句中,return会跳出循环;   4、函数接受参数
   函数 变量
   和普通的命令一样
   只需要注意,在函数接受参数的时候,不会使用外部的传参,而是以脚本内部的参数为准,
5、函数中的变量
   本地变量
      local 变量名=xxx
      本地变量只在本函数内部生效
   局部变量
      脚本内部的变量
   环境变量
      在整个Linux系统的bash中生效
 
        test() {
           local i=9
           let i++
           echo i
           exit 0
        }
        i=1
        TEST
        echo i      扩展: 关于脚本执行的问题:
     bash 的方式来执行 -- #!/bin/bash
      bash所执行的脚本中定义的变量,在当前shell的子shell中;
     全路径或者相对路径的方式来执行; -- 须有授权执行权限;
     source 脚本文件 或者 . 脚本文件
      source这种方式来执行脚本的时候,内部变量所定义的值是在当前shell中的;   6、函数递归    函数递归在工作中的实际应用:
    params=()
    c=0  -- 数组的下表     params[$c]=$i  //for语句遍历过来的参数     level=$#  //传参的数量
    resultParams=()  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐