对于不同的登录id,我的perl环境变量和@INC具有不同的值

对于不同的登录id,我的perl环境变量和@INC具有不同的值,perl,Perl,我发现对于不同的登录id,我的perl环境变量和@INC有如下不同的设置 用户perl-V ========================== %环境: @公司: 根perl-V ============================================= @公司: 如何使根用户的持久性方法与sufuserpersistent中的相同是我试图找到的 首先,如何永久设置根目录的%ENV: 第二次将/opt/SMAW/SMAWsuf行添加到root user@INC部分对于每个用户,

我发现对于不同的登录id,我的perl环境变量和@INC有如下不同的设置

用户perl-V

==========================

%环境:

@公司:

根perl-V

=============================================

@公司:

如何使根用户的持久性方法与sufuserpersistent中的相同是我试图找到的

首先,如何永久设置根目录的%ENV:


第二次将/opt/SMAW/SMAWsuf行添加到root user@INC部分

对于每个用户,必须设置PERL5LIB环境变量。如果您可以控制系统,并且每个人都在使用bashshell,那么您应该查看/etc/profilefile,因为这是在新用户登录时首先执行的。您不应该直接修改该文件,因为它可以通过操作系统更新进行修改。而是查看它,看看是否有一些扩展机制,例如,它源于/etc/profile.d目录中的所有文件

更好的是,它可以安装在Perl发行版中。这很有趣,很刺激

好的,这并不有趣和令人兴奋,但是学习如何创建好的Perl模块以及如何为这些模块创建单元测试将改进Perl并提高可移植性。如果你在一台新机器上呢?没问题,因为您可以在新机器上安装这些模块。不需要修改PERL5LIB。不用担心副作用。您将学习编写更好的代码,并在过程中学习一些许多Perl开发人员不知道的东西,但应该:

和package命令 以及Perl模块 它们是如何组织的。 你需要密码。 如果您已经知道很多这方面的信息,那么创建一个可以安装在默认位置的模块应该不难


是的,这需要更多的时间,特别是如果你必须学习很多这方面的知识,但是最终用正确的方法做事情所花费的时间和精力要少得多。如果多个用户在同一个系统上共享相同的模块,那么正确安装它们而不是希望$PERL5LIB在不同用户之间同步是一个不错的选择

系统导出/opt/SMAW/SMAWsuf;push@INC,/opt/SMAW/SMAWsuf;perl-V/opt/SMAW/SMAWsuf/bin/displayPD-n Node03>>/tmp/Details.txt;我试过多次,但还是没有成功
PERL5LIB="/opt/SMAW/SMAWsuf"
/opt/SMAW/SMAWsuf
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/5.8.9/x86_64-linux
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/5.8.9
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/site_perl/5.8.9/x86_64-linux
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/site_perl/5.8.9
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/5.8.9/x86_64-linux
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/5.8.9
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/site_perl/5.8.9/x86_64-linux
/opt/SMAW/SMAWrtppl/5.8.9-03/lib/perl5/site_perl/5.8.9