Bash脚本,循环浏览文件夹中的文件失败
我正在用这个bash脚本代码在一个文件夹中遍历某些文件(所有以MOVIE开头的文件):
for i in MY-FOLDER/MOVIE*
do
当文件夹中有文件时工作正常。 但是,如果没有,它会以某种方式继续进行,它认为它被命名为MY-FOLDER / MOVIE *。
我怎样才能避免它进入后的东西
do
如果文件夹中没有任何文件?
for i in $(find MY-FOLDER/MOVIE -type f); do
echo $i
done
find
工具是Linux的瑞士军刀之一。 根据您提供的选项,它从您提供的目录开始,并找到所有子目录中的所有文件。
-type f
只会找到常规文件(不是目录)。
就像我写的那样,该命令也会在子目录中找到文件; 你可以通过添加-maxdepth 1
来防止这种情况
使用nullglob
选项。
$ shopt -s nullglob
$ for i in zzz* ; do echo "$i" ; done
$
for file in MY-FOLDER/MOVIE* do # Skip if not a file test -f "$file" || continue # Now you know it's a file. ... done链接地址: http://www.djcxy.com/p/17487.html