此构造做Bash中
问题描述:
什么
$ echo [1,2,"abc",4]
输出:此构造做Bash中
c
我遇到了这个试图此字符串传递给我的Node.js程序作为参数。相反,一些奇怪的Bash魔法发生了。我相信这是解释“某处”在很长的man bash
,但我还找不到任何东西。
答
这只是一个有趣的方式写的单个字符范围glob。
[abc]
匹配字符a,b或c中的一个。
[1,2,"abc",4]
相匹配的人物之一的A,B,C,1,2,4或逗号,相当于[abc124,]
既然你有一个名为c
,它匹配和被打印出来。
bash不会在我的机器上打印'c'。它打印出'[1,2,'abc',4]' –
@TrevorHickey,对不起,请删除周围的勾号 – exebook
@TrevorHickey您没有任何名为'1',',','2','“的文件当前目录中的'','a','b','c'或'4' – chepner