在Bash入门指南中
括号扩展在执行任何其他扩展之前执行,并且其他扩展专用的任何字符 保存在结果中。严格来说是文字。 Bash不会对...的上下文应用任何语法解释 括号之间的扩展或文本。为避免与参数扩展冲突,字符串“ $ {”为 不符合大括号扩展的条件。
在本段中,它表示Bash不会对扩展的上下文或大括号之间的文本应用任何语法解释,而是在我执行此命令时
h{elp,`uname`}
它回来了
bash: help: no help topics match `hLinux'. Try `help help' or `man -k hLinux' or `info hLinux'.
它检索单词hLinux
而不是h`uname`。
因此,即使在括号之间也解释了“ uname”,为什么?
答案 0 :(得分:1)
您的示例中的大括号扩展未返回hLinux
。它返回了help h`uname`
。
仅在第二步中,Bash将命令替换应用到`uname`
,这使整个命令成为help hLinux
。
括号扩展不会不会随后停止将其他机制应用于结果。它只是不能自行解析任何内容。