当模式不匹配时,如何阻止 bash 返回通配符?
how to stop bash from returning wildcard when pattern doesn match?
当模式匹配此代码按预期工作时:
mkdir -p mytestdir001
for f in "mytestdir???"; do
echo $f
done
但是当我替换通配符时,没有任何项目会匹配 for 循环 returns 通配符。
除了在循环中检查 f
变量是否等于初始通配符外,还有其他方法可以防止这种情况发生吗?
设置nullglob
选项。
$ shopt -s nullglob
$ for f in *notfound ; do echo "$f" ; done
$
当模式匹配此代码按预期工作时:
mkdir -p mytestdir001
for f in "mytestdir???"; do
echo $f
done
但是当我替换通配符时,没有任何项目会匹配 for 循环 returns 通配符。
除了在循环中检查 f
变量是否等于初始通配符外,还有其他方法可以防止这种情况发生吗?
设置nullglob
选项。
$ shopt -s nullglob
$ for f in *notfound ; do echo "$f" ; done
$