是的,该语法是允许的。如bash
手册页所述,bash 函数的定义是:
[ function ] name () compound-command [redirection]
更多描述(也来自手册页):
函数的主体是复合命令compound-command
。该命令通常是 和 之间的命令列表{
,}
但可以是上面的复合命令下列出的任何命令。
()
和{}
封闭的列表是复合命令。完整列表(同样来自手册页,只是编辑为一个简单列表):
复合命令是以下之一:
(list)
{ list; }
((expression))
[[expression]]
for name [ in word ] ; do list ; done
for (( expr1 ; expr2 ; expr3 )) ; do list ; done
select name [ in word ] ; do list ; done
case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac
if list; then list; [ elif list; then list; ] ... [ else list; ] fi
while list; do list; done
until list; do list; done