文件 – 简单的Bash – 用于f in *

前端之家收集整理的这篇文章主要介绍了文件 – 简单的Bash – 用于f in *前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑这个简单的循环: @H_301_1@for f in *.{text,txt}; do echo $f; done

我想只回显有效的文件名.在脚本中使用$f变量一切都很好,除非没有该扩展名的任何文件.在空集的情况下,$f设置为* .text和上面的行回声:

@H_301_1@*.text *.txt

而不是回声.如果您尝试将$f用于期望实际真实文件名的任何内容而不是*,则会产生错误.

如果有任何文件通配符匹配,那么它不是一个空集,一切都按我的意愿运行.例如

@H_301_1@123.text 456.txt 789.txt

如何在没有错误的情况下执行此操作,并且没有看起来像星号匹配$f的第一个字符串的过度复杂性?

设置nullglob选项. @H_301_1@$for f in *.foo ; do echo "$f" ; done *.foo $shopt -s nullglob $for f in *.foo ; do echo "$f" ; done $

猜你在找的Bash相关文章