我注意到有三种方法可以定义
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都必须支持它.