Bash - 端末に複数行の関数を定義する方法は?

Bash - 端末に複数行の関数を定義する方法は?

端末で複数行にわたって関数を定義する方法は?

# this doesn't work
function my_func { \
  echo "number 5" \
}

非常に基本的です。まだ非常に迷惑です。

ベストアンサー1

\ここで続ける必要はありません。努力する:

function my_func {
  echo "number 5" 
}

このfunctionキーワードは必須ではなく、次のものを使用できますfuncname () {...}

my_func() {
  echo "number 5" 
}

しかし、これがうまくいかないのは、バックスラッシュが関数定義をすべて1行にし、1行関数定義を;bashでaで終わらなければならないからです。

たとえば、次は失敗します。

my_func () { echo "number 5" }

これは働きます:

my_func () { echo "number 5" ; }

このように:

function my_func { \
  echo "number 5" \
  ; \
}

おすすめ記事