zoukankan      html  css  js  c++  java
  • Shell之函数

    一、什么是函数

    函数就是将相同的代码变成定义成一个代码块,然后七个名字,调用时只需要调用名字即可。

    1、函数的优势

    • 节约代码量
    • 代码易读
    • 程序功能模块化

    2、函数语法

    # 简写
    函数名(){
      # 指令
      return 返回值
    }
    
    # 规范写法
    function 函数名(){
      # 指令
      return 返回值
    }

    3、函数执行

    • 无参数函数调用

    直接调用函数的名称即可,无需带小括号。

    • 有参数函数调用
    函数名 参数1 参数2 参数...

    (1)在函数体中位置参数($1、$2...、$#、$*、$?、$@)都可以是函数的参数

    (2)父脚本中的参数则临时的被函数参数隐藏或者覆盖

    (3)$0仍然是父脚本的名称

    (4)函数执行完毕后,原来的命令行参数会恢复

    二、实例

    (一)无参数实例

    1、普通方式

    #!/bin/sh
    t1(){
      echo "Hello World!"   
    }
    t1 #在脚本中调用函数

    上面的脚本中将函数与函数调用写在一起,更优的方式可以将函数与调用分开,可以再写一个调用函数的脚本。

    2、优化方式

    • 函数脚本(func2脚本)
    #!/bin/sh
    t1(){
      echo "Hello World!"   
    }
    • 调用函数脚本
    #!/bin/sh
    scripts_path=/project/scripts/function_scripts/func2
    [ -x $scripts_path ]  && . $scripts_path || exit
    t1

    (二)有参数实例 

    #!/bin/sh
    t1(){
      echo "$1"     
    }
    t1 $1

    通过下面进行调用即可,将脚本传参变成函数传参:

    [root@localhost function_scripts]# sh func3.sh bright
    bright
    作者:iveBoy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    DataGridView 中的复选框DataGridViewCheckBoxColumn 添加验证
    DataGridView删除行 提示 索引-1没有值 索引0没有值 等 解决办法
    convert mov mp4 to jpg
    拼图
    remove ad of chrome how to block ad of newssysstem.net
    redis3常用命令
    python_爬虫总结
    boot_自定义异常
    简答题总结
    springmvc_文件上传
  • 原文地址:https://www.cnblogs.com/shenjianping/p/14364097.html
Copyright © 2011-2022 走看看