我有一个在 Google Cloud Platform 上运行的 VM (Debian 9)。
我需要添加一些文件夹到 @INC
正常执行我的 Perl 脚本。我试图做这样的事情:
export PERLLIB=/path/to/my/dir
或者
PERL5LIB=/path/to/my/dir
但这仅适用于我当前的 SSH session 。当我关闭浏览器窗口并再次连接时,我变老了
@INC
小路。如何永久地做到这一点?或者也许还有其他一些方法可以做到这一点?
附言像这样的方法:
perl -I/path/to/my/dir program.pl
或这个:
push @INC, '/path/to/my/dir/';
不适合我,因为我想轻松调用脚本,并且不想修改它们的内容。
最佳答案
显然,只需设置环境变量,如 PERL5LIB
和 PERLLIB
只会影响您当前的 shell session 。当您注销并重新登录时,这些设置将被清除。
因此,下一步是通过在您每次登录系统时自动设置这些设置来使这些设置更加永久。您可以通过将更改添加到 .bashrc
来完成此操作。或 .profile
文件(取决于您使用的 shell )。每次登录系统时都会执行这些文件,因此您添加的任何内容都可用于每个登录 session 。
然而,还有一个额外的潜在并发症。你说这个系统在谷歌云平台上运行。因此,在我看来,您有一个经常重建或重置的虚拟机或基于容器的系统。在这种情况下,为了使您的更改真正永久有效,您需要将它们添加到用于构建 VM 或容器的任何机制中。也许那是 Puppet list 、Chef 食谱或类似的东西。在不知道您的系统是如何构建的情况下,很难给出任何具体的建议。
关于perl - 永久更改 Perl 脚本的 @INC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60203454/