我正在学习bash。我不小心遇到了空函数的语法错误。
#!/bin/bash
# script name : empty_function.sh
function empty_func() {
}
bash empty_function.sh
empty_function.sh: line 3: syntax error near unexpected token `}'
empty_function.sh: line 3: `}'
我想这是因为定义了一个空函数。 我想知道为什么我不能定义一个空函数?
答案 0 :(得分:10)
bash shell's grammar根本不允许空函数。函数的语法是:
name () compound-command [redirection]
function name [()] compound-command [redirection]
在形式的复合命令中:
{ list; }
list
不能为空。最接近的是使用null语句或返回:
function empty_func() {
:
}
或
function empty_func() {
return
}
答案 1 :(得分:5)
请改为尝试:
empty_func() {
:
}