lau*_*ent 3 bash shell-script wildcards
我有一个包含各种文件的目录:
main.js
SomeClass.js
View.jsx
Run Code Online (Sandbox Code Playgroud)
我想遍历所有 .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
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,会打印出这个:
/path/to/View.jsx
路径:/path/to/*.jsx
名称:*.jsx
所以我不明白为什么在一种情况下它具有$JSX_FILE
value/path/to/View.jsx
而在另一种情况下它具有 value /path/to/*.jsx
。我怎样才能确保这个变量在循环中的任何地方都具有相同的值?
Ign*_*ams 16
引用 glob 会抑制 globbing。
for JSX_FILE in "$BUILD_DIR"/*.jsx; do
Run Code Online (Sandbox Code Playgroud)