シェルスクリプトファイルに「$*」と表示されます。これは何を意味し、いつ使用するべきですか?
ベストアンサー1
~からbash(1)
…
特殊パラメータ
シェルはいくつかのパラメータを特別に扱います。これらのパラメータは参照用にすぎず、そのための割り当ては許可されていません。
*
1から始まる位置パラメータに展開されます。二重引用符内で拡張が発生すると、単一の単語に展開され、各引数の値はIFS
特殊変数の最初の文字で区切られます。つまり、cが変数valueの最初の文字と"$*"
同じです。設定しないと、パラメータはスペースで区切られます。 nullの場合、パラメータは区切り文字を挿入せずに連結されます。"$1c$2c…"
IFS
IFS
IFS
@
1から始まる位置パラメータに展開されます。二重引用符内で拡張が発生すると、各引数は別々の単語に展開されます。つまり、"$@"
と同じです"$1" "$2" …
。単語内で二重引用符拡張が発生すると、最初の引数の拡張は元の単語の先頭に関連付けられ、最後の引数の拡張は元の単語の最後の部分に関連付けられます。位置引数がない場合、"$@"
拡張は$@
空です(つまり削除されます)。
デフォルトでは、$*
値はスクリプト(またはシェル関数)の引数である特殊変数です。ほとんどの場合、"$@"
より適しています。