` 字符或符号是什么,它在 SE 代码格式之外的意义是什么?

1''*_*1'' 7 shell special-characters

` 字符的名称是什么,它在 SE 代码格式之外的意义是什么,因为我无法让它工作?我熟悉它在用于格式化代码块的 Stack Exchange 论坛中的使用,所以请在此之外。

les*_*les 19

` 被称为很多东西,包括反引号、反引号、倒逗号、准引号和重音符。

重要的是要注意引号、抽动等会影响 shell 处理变量的方式。如果使用不当,您的结果可能会有所不同,或者您可能只会出错。

在形成完整的表达式时,您应该将它们括在 `` 中,如下所示:

val=`expr 3 + 4`
Run Code Online (Sandbox Code Playgroud)

下面包括对各种不同应用程序的更详细描述。

重音符号 (`) 是许多书面语言中使用的变音符号。

程序员在许多任务中使用重音符作为一个单独的字符(即,不与任何字母组合)。在这个角色中,它被称为反引号或反引号。

当使用 TeX 排版文本时,反引号字符用作表示卷曲开引号的语法。例如,` 呈现为单开卷曲引号 ('),而 `` 呈现为双开卷曲引号 (")。

它还用于在需要数字的地方提供 ASCII 字符的数字 ASCII 值。

许多 Unix shell 和编程语言 Perl、PHP 和 Ruby 使用此字符对来指示命令替换,即将标准输出从一个命令替换为定义另一命令的一行文本。例如,代码行:

echo It is now `date`
Run Code Online (Sandbox Code Playgroud)

在命令替换后,可能会在命令中产生:

echo It is now Sun Apr 6 05:37:06 GMT 2014
Run Code Online (Sandbox Code Playgroud)

然后在执行时产生输出:

It is now Sun Apr 6 05:37:06 GMT 2014
Run Code Online (Sandbox Code Playgroud)

它有时用于源代码注释中以指示代码,例如

Use the `printf()` function.
Run Code Online (Sandbox Code Playgroud)

这也是 Markdown 格式化程序用来指示代码的格式。

尽管您在 Stack Exchange 之外提到了,但我认为对于那些不知道 Stack Exchange 在其每个论坛中的问题、答案和评论中指示代码的人来说,这一点很重要。

在 Bash shell 中,样式指南不推荐使用 `...` 语法(尽管它没有被正式弃用),并且首选替代语法 $(...) 因为它更具可读性,尤其是对于嵌套表达式。Z壳也是如此。

在 BBC BASIC 中,反引号字符在变量、结构、过程或函数名称的开头或内部有效。

在 D 和 Go 中,反引号用于包围原始字符串文字。

在 Haskell 中,用反引号将函数名括起来允许它用作中缀运算符。

在 Lisp 宏系统中,反引号字符(在 Scheme 中称为 quasiquote)引入了一个引号表达式,其中可能发生逗号替换。它与普通引号相同,只是以逗号为前缀的符号将被这些符号的值替换为变量。这大致类似于在双引号内使用 $ 的 Unix shell 变量插值。

在 m4 中,它与撇号一起使用以引用字符串(以抑制或推迟宏扩展)。

在 MySQL 中,它在查询中用作列、表和数据库分类器。

在 OCaml 中,反引号用于表示多态变体。

在 Pico 中,反引号用于表示编程语言中的注释。

在 Python 3.0 之前,反引号被用作 repr() 函数的同义词,它将其参数转换为适合程序员查看的字符串。然而,这个特性在 Python 3.0 中被删除了。

反引号也广泛用于 reStructuredText 纯文本标记语言(在 Python docutils 包中实现)。

Windows PowerShell 使用反引号作为转义字符。例如,换行符表示为`n。大多数常用的编程语言使用反斜杠作为转义字符(例如 \n),但由于 Windows 允许反斜杠作为路径分隔符,因此 PowerShell 将反斜杠用于不同的目的是不切实际的。为了获得 ` 字符本身,使用了两个反引号。

例如,.NET 的可为空的布尔值在 PowerShell 中指定为:

[Nullable``1[System.Boolean]]
Run Code Online (Sandbox Code Playgroud)

在 Tom 中,反引号用于创建新术语或调用现有术语。

在 Scala 中,标识符也可以由反引号之间的任意字符串构成。然后标识符由除反引号本身之外的所有字符组成。

在 Unlambda 中,反引号字符表示函数应用。

http://en.wikipedia.org/wiki/Grave_accent

  • 我相当确定` 已被POSIX 弃用。不过,我不是 100% 确定。 (2认同)