我目前正在尝试重现基本的shell行为,更具体地说是globbing行为。 我正在用花括号测试命令,并发现这种行为,我不明白。 首先,我的工作目录的内容如下:如何在shell中使用大括号(bash)
1abc 2abc 3abc abc1 abc2 abc3
然后,我输入以下命令:ls {[1-3],[a-c]}*
,并且退回它上面我预期中的所有文件。
最后,我试过这个命令:ls {{,[1-3]},[a-c]}*
,正如你所看到的,它已经叠加了大括号。现在我不明白的是这个命令的返回,因为它给了我这个:1abc 1abc 2abc 2abc 3abc 3abc abc1 abc1 abc2 abc2 abc3 abc3
正如你所看到的,所有的文件都被返回了两次,而且我弄不清楚shell如何解释这个。
我希望我的解释清楚。
好,非常感谢这个解释,它非常清晰,现在我明白了! –