函数:

函数介绍function

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

函数的语法格式

  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 

函数返回值

  return

  当函数中指定了判断语句的时候,我们默认要返回一个错误的结果,但是最近一条命令确实正确的,这时候,我们需要通过return返回一个我们需要的错误状态码;
  函数结束的时候,我们需要指定一个return的正确返回码;如果使用在循环语句中,return会跳出循环;

函数接受参数

  函数 变量
  和普通的命令一样
  只需要注意,在函数接受参数的时候,不会使用外部的传参,而是以脚本内部的参数为准,

函数中的变量

  本地变量
    local 变量名=xxx
    本地变量只在本函数内部生效
  局部变量
    脚本内部的变量
  环境变量
    在整个Linux系统的bash中生效

 

脚本执行

  bash 的方式来执行 -- #!/bin/bash
    bash所执行的脚本中定义的变量,在当前shell的子shell中;
    全路径或者相对路径的方式来执行; -- 须有授权执行权限;
  source 脚本文件 或者 . 脚本文件
    source这种方式来执行脚本的时候,内部变量所定义的值是在当前shell中的;

shell_Day07的更多相关文章

随机推荐

  1. java 启动查看jar包加载顺序并设置classpath

    本文为博主原创,转载请注明出处: 1.idea查看jar包加载顺序 jdk8 可以通过     -XX:+TraceClassPaths    参数进行查看jar包的加载顺序 jdk11 可以通过  ...

  2. wsl2 使用串口/usb

    wsl2串口 搜了几个方案,都不合适 网上很多人说wsl可以直接使用win的串口,com* 就对应 /dev/ttyS* 实际上这是wsl1的,wsl2官方明确表示不支持了 CH340 介绍 CH34 ...

  3. 剑指Offer 05. 替换空格(java解题)

    目录 1. 题目 2. 解题思路(通用 3. 数据类型功能函数总结 4. java代码 1. 题目 请实现一个函数,把字符串 s 中的每个空格替换成%20. 示例 1: 输入:s = "We ...

  4. ChatGPT留给知乎、小红书的时间不多了

    大家好啊,今天我打算给大家整点好活!挑战一下用ChatGPT打入各平台内部. 知乎挑战! 首先了解一下"知乎体" 知乎体是以专业知识为基础,以清晰的条理对问题进行阐述,并解决该问题 ...

  5. vue-cli环境搭建 (超详细保姆级教程)

    一.使用之前,我们先来掌握3个东西是用来干什么的. npm: Nodejs下的包管理器. webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资 ...

  6. SpringMVC的文件、数据校验(Vaildator、Annotation JSR-303)

    SpringMvc的文件上传下载: 文件上传 单文件上传 1.底层使用的是Apache fileupload组件进行上传的功能,Springmvc 只是对其进行了封装,简化开发, pom.xml &l ...

  7. jquery(二:jquery的DOM操作)

    jquery的Dom操作 查找元素(选择器已实现):创建节点对象:访问和设置节点对象的值,以及属性:添加节点:删除节点:删除.添加.修改.设置节点的css样式等. 操作元素的属性: 方法 说明 举例 ...

  8. Docker中Mysql容器忘记密码的处理方法

    今天非常的倒霉,因为学习了Vue的相关知识,想自己写一个后端服务器来练习一下Vue 然后 忘记了Docker中Mysql的密码... 很抽象 下面是我的解决方法 一.如果在本地的Navicat Pre ...

  9. 使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

    使用腾讯云或者阿里云的服务器配置MariaDB数据库环境的时候,用Navicat远程连接在Centos7的Linux上配置MariaDB数据库环境的时候一直出错误代码 "2002 - Can ...

  10. JZOJ 3736. 【NOI2014模拟7.11】数学题

    \(\text{Problem}\) 给出向量 \(\boldsymbol a = (x1,y1), \boldsymbol b = (x2,y2)\) 求 \(|\lambda_1\boldsymb ...