我正在尝试设置一个脚本,该脚本将循环遍历一组目录,并在找到 .jpg 文件时做一件事,在找到 .nef 文件时做另一件事。问题是,如果一个目录没有 .jpg 文件(或 .nef),那么 glob 条目不再是一个扩展的 glob,而只是一个字符串。例如:
my_dir="pictures/"
ext="JPG"
for f in "$my_dir"*."$ext"; do
echo $f
done
Run Code Online (Sandbox Code Playgroud)
如果 my_dir 文件夹中有 .JPG 文件,那么它们将在命令行上正确显示。
pictures/one.JPG
pictures/two.JPG
Run Code Online (Sandbox Code Playgroud)
但是,如果 my_dir 没有 .JPG 文件,则循环将进入一次迭代并回显:
pictures/*.JPG
Run Code Online (Sandbox Code Playgroud)
我如何构造它,以便如果 glob 没有匹配项,它就不会进入 for 循环?