shell function

作者: 运维开发_西瓜甜 | 来源:发表于2019-03-04 09:20 被阅读201次

    函数

    就是对代码的封装,通常会完成一个功能,而出现的一种组织和代码的方式。

    函数式编程

    1. 减少代码重复编写,从而也提高了代码的可复用率。
    2. 程序逻辑解构清晰。
    3. 可以使程序代码更易读,便于管理维护。
    4. 是模块化编程思想的基础。

    函数必须先定义才可以使用

    一、定义函数

    方法一:
    函数名() {
    函数要实现的功能代码
    }

    方法二:
    function 函数名 {
    函数要实现的功能代码
    }

    例如:

    say_you_say_me(){
        echo "我看过很多书,但都没有你好看^_^"
    }
    

    二、调用函数

    1. 无参函数调用方法

    函数名

    say_you_say_me
    
    1. 有参函数调用方法
      含数传参时和脚本的传参一样。

    函数名 参数1 参数2

    作业:

    1. 编写系统初始化脚本
      配置YUM
      安装虚拟化软件
      安装cherrytree
      安装ntfs-3g
      按q键退出程序

    2. 编写虚拟机管理脚本
      安装虚拟机
      关闭虚拟机
      打开虚拟机
      克隆虚拟机(可以指定克隆的数量)
      按q键退出程序

    3. 编写系统管理工具箱
      查看内存的使用情况
      查看磁盘的使用情况
      查看系统的负载
      按q键退出程序
      ......

    注:

    1. 所有脚本必须有选择菜单
    2. 所有的危险操作均需给出提示
      ========================================================

    cat >/file.txt <<YANG

    line 1
    line 2
    ......
    YANG

    cat /file.txt

    line 1
    line 2
    ......

    三、函数参数

    在Shell中调用函数时可向其传递参数。在函数体内部通过 n 的形式来获取参数的值,如:1表示第1个参数,2表示第2个参数...;当n>=10时,表示为{n},如:{10}、{11}

    位置参数变量:是预定义变量中的一类变量

    位置参数变量 作用
    $n 利用参数向程序中传递需要调用的值n为数字,n≤9直接用数字,n≥10都需要用{}包含:0表示命令本身1-9表示第1-9个参数{10}表示第10个参数
    $* 表示命令行中所有的参数,所有参数看作一个整体
    $@ 表示命令行中的所有参数,每个参数区分对待
    $# 表示命令行中所有参数的个数(不统计$0)

    预定义变量

    预定义变量 作用
    $? 最后一次执行的命令所返回的状态:若变量值为0,说明上一个命令正确执行若变量值为非0,说明上一个命令执行不正确
    $$ 当前进程的进程号(PID)
    $! 后台运行的最后一个进程的进程号(PID)

    相关文章

      网友评论

        本文标题:shell function

        本文链接:https://www.haomeiwen.com/subject/kqmquqtx.html