Linux 从零开始的 bash 问题:$() 语法错误

Jer*_*ome 3 linux lfs

当我尝试按照 Linux 从头开始​​说明第 6.9 章构建 glibc 时。Glibc-2.14.1,我收到一个关于$(command).

简化的问题是我可以输入

echo `ls` 
Run Code Online (Sandbox Code Playgroud)

并得到预期的结果。
但是当我输入

echo $(ls)
Run Code Online (Sandbox Code Playgroud)

应该做同样的事情,但我得到

**bash: command substitution: line 78: syntax error near unexpected token `)'
bash: command substitution: line 78: `ls)'**
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我按照Linux的指令从头开始创建的bash程序无法$()正确处理。

glibc 问题就在这里

任何的想法?

小智 5

您需要在主机上使用更好的野牛 (yacc) 构建 bash。Bash 使用 yacc 语法规则,只有 GNU bison 才能为 Bash 构建生成正确的解析代码。