この行の*はどういう意味ですか?

この行の*はどういう意味ですか?

私は小さなスクリプトを書いていますが、ここで次の行を使って私が思いついたような別の解決策を見つけました。

for i in *; do

*;ここでの役割/意味は正確に何ですか?私は$変数を見るのに慣れています。

答え1

for i in *; do

以下は、*現在のディレクトリのすべての(隠されていない)名前と一致するファイル名のワイルドカード文字です。

ループが繰り返されるたびに、変数は一致するi各名前の値を順番に取得します。*

;以下は*(ほとんどの他の場所と同様に)改行文字に置き換えることができます。

for i in *
do

答え2

すべてlsコマンドでアスタリスクの動作を混乱させる

アスタリスクは、[...your...]コマンドに到達する前に拡張されます。

したがって、パターンに一致するすべての*ファイルfor

関連情報