【问题标题】:What are the backticks `` called?反引号``叫什么?
【发布时间】:2011-08-25 12:41:57
【问题描述】:

在评估其内容的上下文中调用的反引号运算符 (``) 是什么?

【问题讨论】:

  • 在什么情况下评估他们的内容?什么语言?

标签: php perl bash operators nomenclature


【解决方案1】:

反引号(``)是一个执行操作符。 PHP 将尝试将反引号的内容作为 shell 命令执行;输出将被返回(即,它不会简单地转储到输出;它可以分配给一个变量)。反引号运算符的使用与shell_exec() 相同。

例如,

<?php
    $output = `ls -la`;
    echo "<pre>$output</pre>";
?>

更多信息,请参考Execution Operators

【讨论】:

    【解决方案2】:

    如果您指的是Bash,则反引号称为“命令替换”。 $() 提供类似的功能。

    【讨论】:

      【解决方案3】:

      在 Perl 中,反引号运算符有一个同义词:qx//。 q 和 x 代表“引用并执行”。您会看到它也被称为“命令”,但坦率地说,在 Perl 社区和大部分 Perl 文档中,它们只是被称为反引号运算符或反引号。在 Perl 程序的上下文中调用它们而不是反引号或反引号运算符只会使人们更难知道他们在说什么。

      【讨论】:

      • 注: Perl 还有一个system 命令,它的返回(退出状态)与返回输出的反引号不同。因此请注意不要将反引号称为系统调用。
      • 因此请注意不要将反引号称为 system() 调用。 “系统调用”完全意味着其他东西:en.wikipedia.org/wiki/System_call
      猜你喜欢
      • 2012-07-24
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2011-04-07
      • 2018-04-05
      • 1970-01-01
      相关资源
      最近更新 更多