このループが一度に1つのファイルを処理しないのはなぜですか?

このループが一度に1つのファイルを処理しないのはなぜですか?

さまざまなファイルを含むディレクトリがあります。

main.js
SomeClass.js
View.jsx

すべての.jsxファイルを繰り返したいと思います。だから私は次のBashスクリプトを書いた。

for JSX_FILE in "$BUILD_DIR/*.jsx"; do   
    echo $JSX_FILE
    echo "PATH: $JSX_FILE"
    JSX_FILENAME=$(basename "$JSX_FILE")
    echo "NAME: $JSX_FILENAME"
done

ただし、何らかの理由で次のように印刷されます。

/パス/to/View.jsx

パス:/path/to/*.jsx

名前: *.jsx

$JSX_FILEそのため、ある場合には価値があり、/path/to/View.jsx他の場合には価値がある理由を理解できません/path/to/*.jsx。この変数がループ内のすべての位置で同じ値を持つようにするにはどうすればよいですか?

ベストアンサー1

glob を参照すると、globbing が抑制されます。

for JSX_FILE in "$BUILD_DIR"/*.jsx; do   

おすすめ記事