大括号展开中大括号之间的解释

The interpretation between the braces in the brace expansion

在 Bash 初学者指南中

Brace expansion is performed before any other expansions, and any characters special to other expansions are preserved in the result. It is strictly textual. Bash does not apply any syntactic interpretation to the context of the expansion or the text between the braces. To avoid conflicts with parameter expansion, the string "${" is not considered eligible for brace expansion.

In This paragraph it says that Bash does not apply any syntactic interpretation to the context of expansion or the text between the braces, 但是当我执行这个命令时

h{elp,`uname`}

返回

bash: help: no help topics match `hLinux'.  Try `help help' or `man -k hLinux' or `info hLinux'.

它返回单词 hLinux 而不是 h`uname`。 所以 `uname` 即使在大括号之间也会被解释,为什么?

Bash Beginners Guide Screenshot of the space paragraph

您示例中的大括号扩展没有 return hLinux。它 returned help h`uname`.

仅在第二步中,Bash 将命令替换应用于 `uname`,这使得整个命令 help hLinux.

大括号扩展不会阻止其他机制应用于之后的结果。它只是自己不解析任何东西。