bash – 我应该将shell函数定义为函数x()还是x()?

我注意到有三种方法可以定义 shell函数,我从来没有在任何地方看到它的解释.
# Option 1
function log(){

}

# Option 2
log(){

}

# Option 3,added due to answers
function log{

}

这三个定义之间有不同之处吗?他们的行为是不同的,还是外表?

是否应该使用哪种标准?我希望第一个选项更可取,因为我想它可以消除某些地方的模糊性.

提前致谢!

答案后编辑:投票结束为“基于意见”的人;我询问了行为上的差异,而不仅仅是为什么人们认为我应该使用哪种行为.事实上,只有Bash支持一个,这意味着每个人都应该使用第二个选项.

选项1和3的缺点是它们都是所谓的 “bashisms”.如果你想要跨shell兼容性(例如,使用sh in * BSD)使用选项2,因为任何POSIX shell都必须支持它.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...