perl - 为什么我的 Perl 反引号提示 "sh: line 1: any: command not found"?

标签 perl backticks dig

我以前从未编程过,但需要编写一个非常简单的 web 应用程序来工作。

我试图让这个 dig 查询工作:

dig @8.8.8.8 +nocomments +nostats +noquestion +nocmd google.com any

使用这个 perl:
$dig = `/usr/bin/dig \@8.8.8.8 +nocomments +nostats +noquestion +nocmd $query any`;

除了在 dig 结束时它似乎没有识别“any”并给我:
sh: line 1: any: command not found

我做错了什么愚蠢的简单事情?

最佳答案

我打赌 $query里面有一个换行符,导致你的 shell 看到 any作为新命令。

尝试做 chomp $query;在您的系统调用之前删除换行符。更多关于 chomp .

关于perl - 为什么我的 Perl 反引号提示 "sh: line 1: any: command not found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1851213/

相关文章:

perl - 如何在 Perl 中的函数调用中将哈希扩展为参数列表?

sql-server - 使用 Ubuntu,如何从 CPAN 安装 DBD::Sybase?

linux - 如何在引号、单引号或反引号中使用通配符或任何其他特殊字符?

python - 在 Python 和 SQLite 中使用反引号 (`) or double quotes (")

ruby - 使用 Hash#dig 或 Lonely operator(&.) 安全地为嵌套哈希赋值

perl - 在 DEBUG 模式下禁止在 perl 中执行子例程

angular2,文件应该以换行符和尾随空格结尾

windows - Windows 上类似挖掘的功能?

macOS 上的 DNS 问题

perl - 什么是 "Modern Perl"?