当我尝试按照 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
您需要确保引号、括号和任何其他分组结构正确嵌套在脚本中。此错误是此类问题的典型结果。