bash:意外标记‘)’附近有语法错误

bash:意外标记‘)’附近有语法错误
$ sudo apt-get install geda

之后我应该

  • 运行一次 gnetlist 来生成所需的系统文件夹

    gnetlist --help 1>/dev/null 2>./gEDA Install errors.log
    
  • 创建一个名为 gaf 的目录。此目录是所有 gEDA 项目的存储位置。每个项目最好都有自己的目录。

    mkdir  ̃/gaf 2>./gEDA Install errors.log
    
  • 创建一个包含所有自定义符号的目录:

    mkdir  ̃/gaf/symbols 2>./gEDA Install errors.log
    
  • 可以从用户主屏幕的终端上执行以下命令一次,以设置所有 gEDA 项目要使用的符号文件夹的路径:

    echo “ (component-library-search \“${HOME}/gaf/symbols/\”) ”  ̃/.gEDA/gafrc
    

最后一条命令返回

bash: syntax error near unexpected token `)'

是什么导致了这个问题?我该如何解决它?

答案1

问题很可能是 Unicode 引号:将它们更改为常规 ASCII 引号:

$ echo “ (component-library-search \“${HOME}/gaf/symbols/\”) ”
bash: syntax error near unexpected token `('

然而

$ echo " (component-library-search \"${HOME}/gaf/symbols/\") "
 (component-library-search "/home/steeldriver/gaf/symbols/") 

答案2

问题与你的引用有关。你可以通过将行更改为

echo '(component-library-search \“${HOME}/gaf/symbols/\”)' >  ̃/.gEDA/gafrc

为什么?“是弱引用。2.”结束了引用,这会导致语法错误。此外,如果没有 2.,变量仍会被解析,因为只有弱引用。

' 是强引用。里面的“和 $”将不会被解析,所以不会出现语法错误。

相关内容