当模式不匹配时,如何阻止bash返回通配符?

时间:2015-10-22 05:10:50

标签: bash for-loop glob

当模式匹配时,此代码按预期工作:

mkdir -p mytestdir001
for f in "mytestdir???"; do
  echo $f
done

但是当我替换通配符以便没有匹配的项时,for循环返回通配符。

除了检查f变量是否等于初始通配符的循环外,有没有办法防止这种情况?

1 个答案:

答案 0 :(得分:2)

设置nullglob选项。

$ shopt -s nullglob
$ for f in *notfound ; do echo "$f" ; done
$