在将脚本作为cronjob运行时,无法在@INC中找到perl文件

时间:2014-01-04 20:45:36

标签: ubuntu cron

我在运行脚本“perl create_board.pl”作为cronjob时遇到以下错误,找到dashboard_config.pl位于/ local / mnt / workspace / user / Automation / swbuild / bin / board, 我将此路径导出到〜/ .bashrc但仍然遇到此问题,我无法为dashboard_config.pl添加绝对路径,因为它存在于多个文件中, 请建议如何克服这个..

Can't locate board_config.pl in @INC (@INC contains: /swbuild/bin/board /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /local/mnt/workspace/gnakkala/Automation/swbuild/bin/dashboard/create_board.pl line 31

1 个答案:

答案 0 :(得分:0)

你是如何“出口”的? 它看起来像perl使用require加载丢失的文件,这意味着它在perls中包含路径。从错误消息中看起来您的路径未导出到此包含路径中。 Perl包含路径可以在环境中设置PER5LIB或PERLLIB环境变量,语法类似于PATH。

另一种可能性是,您已经使用环境变量设置了包含路径,但是您的脚本在污点模式下运行(以perl -T开头或第一行类似于“#!perl -T”)。在污点模式下,出于安全原因,不使用这些环境变量,您必须修改源或使用“perl -Iinc_path program”运行它