SHELL编程-函数

1. 函数定义

shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数
    
定义函数的格式:

    function-name (){
        command1
        ........
    }
    
 function function-name(){ #函数名前面多了个function关键字
        command1
        ........
    }


2.
函数调用
    
以下是一个函数的脚本实例:
    #!/bin/bash
    #hello
    function hello(){       #
声明函数
      echo "Hello!"     #
函数的主体,输出"Hello!"
    }               #
函数结束
    hello             #
调用函数


3.
参数传递
  
向函数传递参数就像在脚本是使用变量位置$1,$2,$3...$9
  
以下是一个传递参数的实例:
  #!/bin/bash
  #hellofun
  function hello(){
      echo "Hello! The first parameter is '$1'."
  }
  hello good
  #
该脚本执行的结果是: Hello! The first parameter is 'good'.


4.
函数文件
  
保存函数的文件,用以上的例子写成一个函数文件如下:
  #!/bin/bash
  #hellofunction
  function hello(){
    echo "Hello!"
    return 1
  }
  
上面的hellofunction文件就是一个函数文件,可通过另一个脚本来调用
  #!/bin/bash
  #hellof
  . hellofunction #
注意点和hellofunction之间有个空格
  hello


5.
载入和删除
  
set查看已载入的函数
  
unset function-name 取消载入
  
举例如下:
#!/bin/bash
  #hellof
  . hellofunction
  unset
  hello   #
因为已经取消载入。。所以会出错

 

6.从调用函数中返回

当函数完成处理或希望函数基于某一测试语句返回时,可做两种处理:

1) 让函数正常执行到函数末尾,然后返回脚本中调用函数的控制部分。

2) 使用r e t u r n返回脚本中函数调用的下一条语句,可以带返回值。0为无错误,1为有错误。

扫描二维码关注公众号,回复: 1260261 查看本文章

这是可选的,与最后状态命令报表例子极其类似。其格式为:

return从函数中返回, 用最后状态命令决定返回值。

return 0 无错误返回。

return 1 有错误返回


7.
函数返回值测试
  #!/bin/bash
  #hellofun
  function hello(){
    echo "Hello! The first parameter is '$1'."
  }
  hello
  echo $?   #
输出返回的状态值(一般成功是返回0,其它值为失败)

 

猜你喜欢

转载自dbajun.iteye.com/blog/1692226
今日推荐