首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shopt -s nullglob意外影响读取

shopt -s nullglob意外影响读取
EN

Stack Overflow用户
提问于 2020-11-12 16:41:25
回答 1查看 21关注 0票数 0

我希望这两个输出都等于foo [Required] bar,但是一旦设置为nullglob[Required]就消失了。为什么?

我在运行MacOS。

谢谢!

代码语言:javascript
复制
$ bash --version
GNU bash, version 5.0.18(1)-release (x86_64-apple-darwin19.5.0)

$ shopt -u nullglob
$ read < <(echo "foo [Required] bar"); echo $REPLY;
foo [Required] bar

$ shopt -s nullglob
$ read < <(echo "foo [Required] bar"); echo $REPLY;
foo bar
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-12 16:46:48

因为您没有引用变量$REPLY,所以文件名扩展是在展开变量之后进行的。

[Required]是文件名通配符模式。它将匹配以下任何字符:Requird

您可能没有这样的文件名。nullglob选项意味着不匹配任何内容的通配符应该替换为空字符串,而不是保留为未展开。

这个故事的寓意是:引用你的变量,除非你想让它们进行文件名扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64800499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档