Linux shell 中的“勾号”或“尖音符号”字符 ´(不是 `)是否用于任何内容?

Linux shell 中的“勾号”或“尖音符号”字符 ´(不是 `)是否用于任何内容?

我们知道反引号字符用于命令替换:

chown `id -u` /mydir

´这让我想知道: Linux shell 中的勾号字符有什么用途吗?


注意:顺便说一下,命令替换也可以写成更易读:
chown $(id -u) /mydir

答案1

Unix 历史上使用的字符集,包括ASCII码,没有勾号字符,所以没有使用它。据我所知,自从该角色推出以来,还没有引入任何常见用法;也不会,因为它不包含在POSIX 的可移植字符集

` 显然最初包含在 ASCII 中(与 ^ 和 ~ 一起)作为变音符号。定义 ASCII 时,撇号通常由 ' 型字形(“prime”,用于分钟或英尺)表示,而不是直撇号 ',并且也用作变音符号急性重音。

历史上,在 Unix shell 文档中,` 被称为沉重的口音,不是反引号。缺少向前的勾号不会引起人们的注意,特别是因为 ' 被用作补充字符(参见roff语法)。

答案2

尽管 ASCII 委员会认为 ` 是变音符号,' 是撇号,但 Unix 传统是将它们视为左单引号和右单引号(这些字符现在在 Unicode 中为 U+2018 和 U+2019)。这在 TeX 约定中最为明显,即您在标记源中编写“引用文本”,然后在格式化文档中获得“引用文本”。这也可以在较旧的等宽字体中看到,例如 X11R5 和 X11R6 附带的位图字体,其中两个字符被赋予镜像字形。

因此,` 和 ' 被认为是彼此的逆元,并且 ' 不被认为缺失。

相关内容