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从未执行过?
答案 0 :(得分:1)
这里的情况是因为线条结束。它在a.sh中为set Path & xxxx
,在b.sh中为set Path & perl script.pl
。 cron工作中的a.sh正在工作,b.sh不工作。区别在于Unix格式的a.sh,Win格式的b.sh.我改变了b.sh的格式,它也在工作。 -_- ||
答案 1 :(得分:0)
尝试编辑你的cronjob以强制使用正确的目录。例如:
cd cronjobs && perl cronjob.pl