2016-09-03 11 views
3

私は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: `}' 

空の関数の定義のためと思われます。 空の関数を定義できない理由を知りたいのですが?

答えて

6

bash shell's grammarは、単に空の機能を許可していません。

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

、フォームの複合コマンドで:関数の文法がある

{ list; } 

list空にすることはできません。

function empty_func() { 
    : 
} 

または

function empty_func() { 
    return 
} 
:あなたが得ることができる最も近いヌル文またはリターンを使用することです
5

は、代わりにこれを試してみてください:

empty_func() { 
    : 
} 
関連する問題