我正在通过 perl 脚本执行一些 shell 命令并捕获输出,如下所示,
$commandOutput = `cat /path/to/file | grep "some text"`;
我还检查命令是否像这样成功运行,
if(!$commandOutput)
{
# command not run!
}
else
{
# further processing
}
这通常有效,我得到正确的输出。问题是,在某些情况下,命令本身不会产生任何输出。例如,有时我尝试的文本grep
不会出现在目标文件中,因此不会提供任何输出。在这种情况下,我的脚本将其检测为“命令未运行”,但事实并非如此。
在 perl 中区分这两种情况的正确方法是什么?