所以我写了一个小脚本名称for_loop:
for f in *.testdo echo 'This is f: '${f}done
之后(chmod x for_loop)我可以用./for_loop启动它.
如果有.test文件,那么everthing就可以了,但是如果文件夹中没有与..test匹配的文件,for循环仍然执行一次.在这种情况下,输出看起来像:
This is f: *.test
但我认为如果文件夹中没有与glob模式匹配的文件,则没有输出.为什么不是这样?
解决方法 这是默认行为.要摆脱它,启用nullglob:
shopt -s nullglob
从Greg’s Wiki – nullglob开始:
nullglob expands non-matching globs to zero arguments,rather than to
themselves.
…
Without nullglob,the glob would expand to a literal * in an empty
directory,resulting in an erroneous count of 1.
或者使用zsh,默认情况下启用了这个glob!
$for f in *.test; do echo "$f"; donezsh: no matches found: *.test总结
以上是内存溢出为你收集整理的linux – 与任何东西都不匹配的Glob扩展到自身,而不是什么都没有全部内容,希望文章能够帮你解决linux – 与任何东西都不匹配的Glob扩展到自身,而不是什么都没有所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)