我正在通过crontab运行一个perl脚本,并将其输出重定向到文件中:
在my_script.pl中,我通过system()命令执行了几个其他的perl脚本:
30 1 * * * /full/path/to/my_script.pl >> /full/path/to/my_log_file
在my_script.pl中,我通过system()命令执行了几个其他的perl脚本:
#/usr/bin/env perl
system( "/full/path/to/another_script.pl" );
在这些脚本中,我使用“print”命令向标准输出流(STDOUT)写入内容:
#/usr/bin/env perl
print "Standard output...\n";
然而,似乎这些子脚本的输出都没有被重定向到我的日志文件——我只看到父perl脚本的输出。我是否遗漏了一些明显的东西?这是在Linux系统上。
$output =
/full/path/to/another_script.pl; print $output;
(好吧 - 我不知道如何使其显示单个反引号,因为那是“代码”的标记),并捕获错误。eval { system(" .. "); }; if ($@) { print "ERROR: $@\n"; } - pgregg