鉴于:
echo '"Number' > temp.sh
./temp.sh
Run Code Online (Sandbox Code Playgroud)
使用此脚本,Bash打印此错误消息:
./temp.sh: line 1: unexpected EOF while looking for matching `"'
Run Code Online (Sandbox Code Playgroud)
为什么它打印出`"'对像'"'?
PS:我试图寻找答案但只得到问题的答案,要求帮助调试此错误.相反,我想知道为什么错误消息打印出一个起始反引号而不是单引号.
使用单独的开放和引用引号在历史上被认为是英语中的好形式,并且是正确排版的重要部分.由于节省成本的措施(并试图保存有限的7位ASCII字符空间),这部分失去了风格,但从未完全消失.
从实用排版:
卷曲引号是良好排版中使用的引号.
来自维基百科:
"双手"引号在打字机上引入,以减少键盘上的键数,并由计算机键盘和字符集继承.过去设计的一些计算机系统具有带有适当的开启和关闭引号的字符集.但是,自20世纪60年代以来在各种计算机上使用的ASCII字符集仅包含单引号(U + 0027'撇号)和双引号(U + 0022"引号).
......以及以下几段,特别指的是(反误)使用反引号作为公开引用:
这些相同的系统经常将严重的重音(
`U + 0060)描绘为开放的引号字形(实际上是一个高反转的9字形,以保留一些可用性作为坟墓).这给出了以语义正确为代价的适当外观.没有类似的双引号,所以很多人使用两个单引号双引号,如下所示:[...]