linux – 与任何东西都不匹配的Glob扩展到自身,而不是什么都没有

linux – 与任何东西都不匹配的Glob扩展到自身,而不是什么都没有,第1张

概述我想迭代一个特殊类型的文件夹(如.test)中的文件: 所以我写了一个小脚本名称for_loop: for f in *.testdo echo 'This is f: '${f}done 之后(chmod x for_loop)我可以用./for_loop启动它. 如果有.test文件,那么everthing就可以了,但是如果文件夹中没有与..test匹配的文件,for循环仍然执行一次.在 我想迭代一个特殊类型的文件夹(如.test)中的文件:

所以我写了一个小脚本名称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扩展到自身,而不是什么都没有所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存