Bashスクリプトのデフォルトパラメータはどのように機能しますか?

Bashスクリプトのデフォルトパラメータはどのように機能しますか?

ちょうど見つけた

default="no parameter provided"
echo ${1:-$default}  # in a script

これは何と呼びますか?内蔵されていますか?見えるように実際に動作しますか?

答え1

これは一部です。シェルパラメータ拡張そして組み込みすべてのPOSIXシェル:

${parameter:-word}

もし範囲設定されていないか null の場合は展開します。言葉交換されます。それ以外の場合範囲交換されます。

あなたの例で${1}設定されていないか、nullでない場合はその値が出力され、それ以外の場合は${default}その値が出力されます。

答え2

そのParameter Expansion説明はバッシュマンページ次のコマンドを使用してローカルに呼び出すこともできますman bash

   ${parameter:-word}
          Use Default Values.  If parameter is unset or null, the
          expansion of word is substituted.  Otherwise, the value
          of parameter is substituted.

関連情報