bash - 编写函数语法的两种方法

时间:2014-06-02 12:01:55

标签: linux bash function sh ksh

在bash中我们可以编写函数,但实际上我们有两种方法(两种语法),

请咨询

example1 example2 之间的差异

或者也许没有任何差异?

 function I_love_function

 {

  .
  .

 }

I_love_function ()

{

  .
  .
}

如何调用函数I_love_function

2 个答案:

答案 0 :(得分:2)

来自:http://www.gnu.org/software/bash/manual/bashref.html#Shell-Functions

  

使用以下语法声明函数:

name () compound-command [ redirections ] 
or 
function name [()] compound-command [ redirections ]
  

这定义了一个名为name的shell函数。 保留字功能是可选的。如果提供了功能保留字,则括号是可选的

答案 1 :(得分:1)

I_love_function () { }与POSIX /原始的基于sh的shell兼容,但是如果你的脚本只是在Bash中运行,那么就不会有太大的区别而只是偏好。

我个人更喜欢function func_name { }格式,因为()对我来说似乎毫无意义,因为它没有明确指定函数的可接受参数。