パラメータを持つBash関数

パラメータを持つBash関数

私は次のようなbashスクリプトを書くことができることを知っています。

foo() {
  echo $1;
}

ただし、次のように作成する関数を定義できます。

foo(string) {
  echo $string;
}

私はこの混乱から逃れる方法を見つけることができません。

答え1

利用可能な唯一のフォームは最初のフォームです。詳しくはマニュアルをご覧ください。

名前付きパラメータを使用する従来の技術は、関数の先頭にパラメータを割り当てることです。

foo() {
  string=$1
  # ...
  echo "${string}"
}

関連情報