mora mora - 7 months ago 43
Bash Question

Why cannot I define an empty function in shell?

I am learning bash. I accidentally encounter a syntax error with empty function.

# script name :
function empty_func() {

bash line 3: syntax error near unexpected token `}' line 3: `}'

I suppose it is because of definition of an empty function.
I would like to know Why I cannot define an empty function?

usr usr

The bash shell's grammar simply doesn't allow empty functions. A function's grammar is:

  name () compound-command [redirection]
  function name [()] compound-command [redirection]

And in a compound command of the form:

{ list; }

list can't be empty. The closest you can get is to use a null statement or return:

function empty_func() {


function empty_func() {