• shell自定义函数


    Linux中提供了很多内置的函数,但有时我们需要根据自己的需求来创建自定义函数。下面介绍一下关于shell编程中的自定义函数。

    1、函数定义
    function hello(){
       echo "Hello!!"
    }

    hello(){
       echo "Hello!!"
    }

     

    2、函数调用
    [tough@toughhou shell]$ cat fun.sh 
    #!/bin/bash
    function hello(){
      echo "Hello!!"
    }

    hello

    [tough@toughhou shell]$ sh fun.sh 
    Hello!!

    #函数需要先定义,后使用,否则出错
    [tough@toughhou shell]$ cat fun1.sh 
    #!/bin/bash
    hello    #调用未定义的
    函数导致出错
    function hello(){
      echo "Hello!!"
    }

    [tough@toughhou shell]$ sh fun1.sh 
    fun1.sh: line 2: hello: command not found

     

    3、参数传递
    [tough@toughhou shell]$ cat hello.sh 
    #!/bin/bash
    hello(){
       echo "Hello, $2"
     #此处的$2是调用函数hello时传递进来的参数
    }

    #此处的$2,$1是调用hello.sh时传递进来的参数
    hello $2 $1

    [tough@toughhou shell]$ sh hello.sh Tough1 Tough2
    Hello, Tough1

     

    4、函数文件引用
    [tough@toughhou shell]$ cat helloFun 
    hello(){
       echo "Hello!!"
    }

    [tough@toughhou shell]$ more invoke.sh 
    #!/bin/bash
    . ./helloFun   #此处引用了helloFun函数文件
    hello             #此处调用了helloFun函数文件中的hello函数

    [tough@toughhou shell]$ sh invoke.sh 
    Hello!!

     

  • 相关阅读:
    [USACO08FEB]酒店Hotel 线段树 BZOJ 1593
    有趣的数 zoj 月赛
    [ZJOI2008]生日聚会 BZOJ1037 dp
    借教室 差分+二分答案
    HackerRank
    旅行计划 记忆化搜索
    灾后重建 Floyd
    [USACO10OCT]湖计数Lake Counting 联通块
    [TJOI2013]循环格 费用流 BZOJ3171
    高斯消元
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778783.html
Copyright © 2020-2023  润新知