实际如何解析相邻的括号扩展?

时间:2019-03-13 14:40:39

标签: bash

相邻brace expansions 得出其元素的笛卡尔积:

$ echo {a,b}{c,d}{e,f}
ace acf ade adf bce bcf bde bdf

我想知道这是否是括号扩展的特殊功能,或者它是由以下规则引起的,还是由man bash中记录的任何其他规则引起的:

  

要扩展的模式采用可选的序言形式,然后   通过一系列逗号分隔的字符串或之间的序列表达式   一对大括号,后跟一个可选的附言。前缀是前缀   大括号中包含的每个字符串,然后附加脚本   到每个结果字符串,从左到右扩展。

如果确实是由该规则引起的,那么它将如何工作?

在我看来,您需要一个 单独的规则,例如:

当序言本身是括号扩展时,每个元素 相对于右括号扩展而扩展,然后结果 按从左到右的顺序连接在一起

也就是说,{a,b}{c,d}a{c,d}b{c,d}的串联。

但是我在man bash的“括号扩展”说明中看不到任何此类规则 明确证明了这种行为。

我想念它吗?

0 个答案:

没有答案