1
my $systemDateState = system "date";
my $systemXXXXState = system "xxxx";#xxxx is a program
print "$systemDateState\n";
print "$systemXXXXState\n";

这个 perl 脚本打印两个零。它从命令行工作。但是在 cron 作业中执行此脚本时,它返回一个零和一个 -1。

-1 表示 xxxx 从未执行。我尝试直接在 cron 作业中执行 xxxx。xxxx 执行正常。cron 作业中的 perl 脚本系统日期有效。为什么 cron 作业中的 perl 脚本系统 xxxx 从未执行?

4

2 回答 2

1

这里的情况是因为行结束。它在 a.shset Path & xxxxset Path & perl script.plb.sh 中。cron 作业中的 a.sh 有效,b.sh 无效。区别在于 Unix 格式的 a.sh 和 Win 格式的 b.sh。我更改了 b.sh 的格式,它也可以正常工作。-_-||

于 2013-04-19T02:39:09.773 回答
0

尝试编辑您的 cronjob 以强制使用正确的目录。例如:

cd cronjobs && perl cronjob.pl
于 2013-04-12T08:02:41.490 回答