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

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

当我尝试按照 Linux 从头开始​​指令第 6.9 章构建 glibc 时。 Glibc-2.14.1,我收到有关 的语法错误$(command)

简化的问题是我可以输入

echo `ls` 

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

echo $(ls)

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

**bash: command substitution: line 78: syntax error near unexpected token `)'
bash: command substitution: line 78: `ls)'**

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

glibc的问题是这里

任何想法?

答案1

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

答案2

您需要确保引号、括号和任何其他分组结构正确嵌套在脚本中。此错误是此类问题的典型结果。

相关内容