shell自定义函数

Posted 七色彩虹k

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell自定义函数相关的知识,希望对你有一定的参考价值。

函数调用
通常将函数看成是脚本中的一段代码,在使用函数前必须先定义该函数,使用时利用函数名直接调用。
例:编写脚本func_script,内容如下。

#!/bin/bash
REPEAT=3
fa()

  echo "Now  fa function is starting..."
  echo

fb()

  i=0
  echo  "And now the fb bebins."
  sleep 1
  while [ $i -lt $REPEAT ]
  do
    echo "---functions---"
    echo "-----are-------"
    echo "------fb-------" 
    echo
    i=$((i+1))
  done

echo "This main script is starting..."
fa
fb
echo "main script ended."

执行该脚本

运行结果

shell脚本如何自定义函数

在写程序时,经常会用到函数,一般开发工具拥有丰富的函数库。但有时还需要根据自己的需要自定义函数满足我们的需求。

Linux中,写shell脚本也一样,有时会用到自定义函数。

函数,最简单的定义为:将一组命令集或语句形成一个可用块,这些块称为函数。


1、定义函数的格式:

  1. function-name ( ){  
  2.         command1  
  3.         ........  
  4. }  


  1. #函数名前面也可以加上function关键字  
  2. function  function-name( ) {    
  3.         command1  
  4.         ........  
  5. }  


2.函数调用

以下是一个函数的脚本实例:

  1. #!/bin/bash  
  2. function hello(){          #声明函数  
  3.   echo "Hello!"            #函数的主体,输出"Hello!"  
  4. }                          #函数结束  
  5. hello                      #调用函数  


3.参数传递
 向函数传递参数就像在脚本是使用变量位置$1,$2,$3...$9
 以下是一个传递参数的实例:

 

  1. #!/bin/bash  
  2. function hello(){  
  3.     echo "Hello! The first parameter is ‘$1‘."  
  4. }  
  5. hello good  

#该脚本执行的结果是: Hello! The first parameter is ‘good‘.


4.函数文件
  保存函数的文件,用以上的例子写成一个函数文件如下:

 

  1. #!/bin/bash  
  2. function  hello ( ){  
  3.   echo "Hello!"  
  4.   return 1  
  5. }  

上面的hellofunction文件就是一个函数文件,可通过另一个脚本来调用

 

  1. #!/bin/bash  
  2. . hellofunction      #调用函数文件,点和hellofunction之间有个空格  
  3. hello                #调用函数  


5.载入和删除
  用set查看已载入的函数
  用unset function-name 取消载入
  举例如下:

 

    1. #!/bin/bash  
    2. #hellof  
    3. . hellofunction  
    4. unset hello  
    5. hello            #因为已经取消载入,所以会出错 













以上是关于shell自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

shell中自定义函数

linux 如何自定义命令函数?

Linux之自定义的 Shell 函数和函数库

运行 shell 命令并作为自定义函数的结果返回输出

linux实操_shell自定义函数

shell自定义函数