• 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=()
     
  • 相关阅读:
    Linux(Ubuntu)总结(三)
    Linux(Ubuntu):搭建Docker
    JavaScript数字格式化方法:千分位,百分数
    解决mysqld --install:Install/Remove of the Service Denied!
    【转】Oracle基础结构认知——oracle内存结构 礼记八目 2017-12-15 20:31:27
    【转】Oracle基础结构认知—初识oracle 礼记八目 2017-12-12 21:19:30
    Linux 常用命令
    oracle AWR详解
    VMware 虚拟化技术 创建虚拟机
    MySQL数据库各个版本的区别
  • 原文地址:https://www.cnblogs.com/lzqitdl/p/11392352.html
Copyright © 2020-2023  润新知