为什么 bash 用重音符和撇号来封装语法错误?

Bac*_*ach 14 bash

当bash是报告一个语法错误,它封装已经都与重音,并用单引号,像这样提高了语法错误的文本:`...'。知道为什么吗?

下面是一个例子:

$ bash -c "echo error()"
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `echo error()'
Run Code Online (Sandbox Code Playgroud)

这并不常见;然而,我只是好奇,这不是一个真正的问题。

编辑:随着像这样的晦涩消息,这变得更奇怪:

-bash: unexpected EOF while looking for matching ``'
Run Code Online (Sandbox Code Playgroud)

War*_*ung 8

在某些字体中,这些引号将显示为一对相反的卷曲单引号。它已经过时了当今世界的Unicode,但代码和产生上述报价派生从时间统一之前,或之前其普及的做法。

  • 不止一个人可能希望了解这个话题:http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html (2认同)