【问题标题】:Why does "echo [a-z]" print "b t"?为什么“echo [a-z]”打印“b t”?
【发布时间】:2013-09-18 15:12:24
【问题描述】:

标题所说的。在 bash 中,当我这样做时:

$ echo [a-z]
b t

b t 是什么意思?在这种情况下,[] 运算符是否有特殊含义?

【问题讨论】:

  • 在我的情况下它打印[a-z]
  • @fedorqui 真的吗?这很奇怪......我在GNU bash, version 4.2.25(1)-release
  • 我在GNU bash, version 4.2.37(1)-release (i686-pc-linux-gnu)
  • 刚刚在GNU bash, version 3.2.25(1)-release 上进行了测试,它给出了[a-z]。那么可能有一个错误......
  • 也打印[a-z] in GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)...

标签: bash echo output brackets


【解决方案1】:

[a-z] 是一个匹配任何名称由单个字母组成的文件的模式。在您的情况下,当前目录有两个名为 bt 的文件。如果没有匹配的文件,则该模式被视为文字文本,这就是其他人看到[a-z] 打印的原因。

【讨论】:

  • 啊,这就解释了。非常感谢
猜你喜欢
  • 2012-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-29
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
相关资源
最近更新 更多