毎分 cron によって呼び出される perl スクリプト run.pl があります。
run.pl が行う唯一のことは、他の 2 つのスクリプト (download.pl と parse.pl) を呼び出すことです。
#!/usr/bin/perl
use warnings;
use strict;
do 'download.pl';
do 'parse.pl';
print "done!\n";
download.pl と parse.pl には、「ダウンロード完了」と「解析完了」の 2 つの出力があります。スクリプトを /var/log/script.log に出力し、スクリプトが実行されるかどうかを確認します。
run.pl スクリプトは問題なく動作しており、「done!」と出力されます。ログファイルに。ただし、他の 2 つのスクリプトは呼び出されません。相対パスの問題だと思います。絶対パスを使用すると機能します。
しかし、それが問題です。スクリプトはテストステージにあり、パスを毎回変更します。絶対パスを常に変更するのは面倒です。
スクリプトを相対パスから実行させる方法はありますか?
編集:「perl run.pl」を使用してコマンドラインから自分で実行すると、問題なくスクリプトが実行されます。