2017-11-25 26 views
3
什么
$ echo [1,2,"abc",4] 

输出:此构造做Bash中

c 

我遇到了这个试图此字符串传递给我的Node.js程序作为参数。相反,一些奇怪的Bash魔法发生了。我相信这是解释“某处”在很长的man bash,但我还找不到任何东西。

+0

bash不会在我的机器上打印'c'。它打印出'[1,2,'abc',4]' –

+0

@TrevorHickey,对不起,请删除周围的勾号 – exebook

+0

@TrevorHickey您没有任何名为'1',',','2','“的文件当前目录中的'','a','b','c'或'4' – chepner

回答

7

这只是一个有趣的方式写的单个字符范围glob。

[abc]匹配字符a,b或c中的一个。

[1,2,"abc",4]相匹配的人物之一的A,B,C,1,2,4或逗号,相当于[abc124,]

既然你有一个名为c,它匹配和被打印出来。