gpt4 book ai didi

从 cron.daily 运行时 Perl 找不到模块

转载 作者:行者123 更新时间:2023-12-04 13:23:27 26 4
gpt4 key购买 nike

我有使用 Net::Finger 的 perl 程序并已从 cron.daily 成功运行在 Fedora 11 中。
我刚刚将服务器升级到 Fedora 18,这些相同的 perl 程序不再从 cron 运行,而是在以 root 身份登录时从命令行运行良好。
错误是:

Can't locate Net/Finger.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .)

模块的路径是 /root/perl5/lib/perl5/Net/Finger.pm但我无法弄清楚如何添加路径而不会导致更多错误。
提前致谢。

最佳答案

perlfaq8 .

以下是向 Perl 的模块搜索路径添加任意目录的三种方法。

  • 设置PERL5LIB环境变量
    15 15 * * 1-5 PERL5LIB=/root/perl5/lib/perl5 /usr/local/bin/perl my_script.pl
  • 使用 -I命令行开关
    15 15 * * 1-5 /usr/local/bin/perl -I/root/perl5/lib/perl5 my_script.pl
  • 使用 lib perl 脚本中的编译指示
    #! /usr/local/bin/perl
    # my_script.pl: the script that does my thing
    use lib '/root/perl5/lib/perl5';
    use Net::Finger;
    ...


  • 另请注意,cron 作业的环境比命令行环境要稀疏得多,尤其是 cron 环境的 $PATH。变量可能不是您所期望的。如果您没有指定 Perl 可执行文件的完整路径,请验证 $PATH cron 环境正在使用并确保您正在运行正确版本的 perl。

    关于从 cron.daily 运行时 Perl 找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194632/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com