我有一个包含各种文件的目录:
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
但由于某种原因,会打印出这样的内容:
/path/to/View.jsx
路径:/path/to/*.jsx
名称:*.jsx
所以我不明白为什么在一种情况下$JSX_FILE
具有 value /path/to/View.jsx
,而在另一种情况下它具有 value /path/to/*.jsx
。如何确保该变量在循环中的各处具有相同的值?
答案1
引用 glob 会抑制 globbing。
for JSX_FILE in "$BUILD_DIR"/*.jsx; do