我正在使用此bash脚本代码在一个文件夹中循环浏览某些文件(所有以MOVIE开头的文件):
for i in MY-FOLDER/MOVIE*
do
Run Code Online (Sandbox Code Playgroud)
当文件夹中有文件时,它可以正常工作.但是当没有任何内容时,它会以某种方式继续使用它认为名为MY-FOLDER/MOVIE*的文件.
我怎么能避免它进入之后的事情
do
Run Code Online (Sandbox Code Playgroud)
如果文件夹中没有任何文件?
Ign*_*ams 14
有了nullglob
选项.
$ shopt -s nullglob
$ for i in zzz* ; do echo "$i" ; done
$
Run Code Online (Sandbox Code Playgroud)
Ada*_*iss 12
for i in $(find MY-FOLDER/MOVIE -type f); do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
该find
实用程序是瑞士军刀linux之一.它从您提供的目录开始,并根据您提供的选项查找所有子目录中的所有文件.
-type f
将只找到常规文件(而不是目录).
在我写的时候,命令也会在子目录中找到文件; 你可以通过添加来防止这种情况-maxdepth 1