LPIC-1 / シェルとスクリプト
- function greet { echo hi }
- def greet() { echo hi; }
- greet() { echo hi; }✓ 正解
- greet = () { echo hi; }
💡 名前() { コマンド; } が関数定義の標準形です。{ } 内の最後のコマンドには ; か改行が必要です。def はbashの構文ではありません。
✕ function greet { echo hi }:functionキーワード使用時も末尾コマンドに;か改行が必要で、{ echo hi }は構文エラーになる。
✕ def greet() { echo hi; }:defはPython等の構文でbashには存在せず、関数定義には使えない。
○ greet() { echo hi; }:名前() { コマンド; }が標準形で、末尾に;があり正しい関数定義である。
✕ greet = () { echo hi; }:name = () の形式はbashの関数定義構文ではなく、エラーとなる。