清理shell运行时环境以运行系统Perl?
发布时间:2020-12-15 21:06:47 所属栏目:安全 来源:网络整理
导读:我需要在运行Oracle EBS的Solaris 9 SPARC环境中创建几个Perl程序,其中一个将从cron运行.将运行Perl的UNIX帐户具有设置为运行以Oracle为中心的程序的所有环境变量,因此当我运行“/usr/bin/perl -V”时,出现以下编译错误.幸运的是,运行Perl的cron不受Oracle环
我需要在运行Oracle EBS的Solaris 9 SPARC环境中创建几个Perl程序,其中一个将从cron运行.将运行Perl的UNIX帐户具有设置为运行以Oracle为中心的程序的所有环境变量,因此当我运行“/usr/bin/perl -V”时,出现以下编译错误.幸运的是,运行Perl的cron不受Oracle环境设置的影响.
bash-2.05$/usr/bin/perl -V Perl lib version (5.00503) doesn't match executable version (5.008) at /u01/app/applmgr/pr/iAS/Apache/perl/lib/5.00503/sun4-solaris/Config.pm line 7. Compilation failed in require. BEGIN failed--compilation aborted. 我的第一个想法是使用BEGIN块进行一些房屋清理,因此我可以使用系统Perl而不是Oracle EBS提供的版本. #!/usr/bin/perl BEGIN { delete $ENV{PERL5LIB}; delete @INC[0..$#INC]; push @INC,map { "/usr/local/lib/perl5/$_" } ( '5.8.0','5.8.0/sun4-solaris','site_perl','site_perl/5.8.0','site_perl/5.8.0/sun4-solaris' ); } print "Hello clean Perl environment! :)n"; 我不被允许修改UNIX帐户的本地配置文件,这是处理这种情况的正确方法吗? 解决方法
env命令的-i选项允许您在干净的环境中启动程序.从那时起env手册页:
-i,--ignore-environment start with an empty environment 对你来说perl例子: env -i perl -V (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |