我试图在我们的服务器上安装BugZilla。 问题是,BugZilla的perl脚本将path定义为/usr/bin/perl ,而我的perl安装位于/usr/local/bin/perl 。
我在安装其他应用程序时也遇到了这个问题,我不得不手动编辑解释器path。
你如何处理这样的情况?
编辑:我只是注意到,我们有两个副本的服务器,一个在标准的位置,在/ usr /本地/ bin / perl,但which perl返回前一个path。
顺便说一句,这是我运行bugzilla的Perl脚本时得到的错误
bash: ./checksetup.pl: /usr/bin/perl: bad interpreter: Permission denied
你可以使用ln链接/ usr / bin / perl到/ usr / local / bin / perl创build一个软链接
ln -s /usr/local/bin/perl /usr/bin/perl
我们在我的环境中执行此操作:我们将系统perl保存在/ usr / bin / perl中,并将我们自己的解释器安装在/ usr / local / bin / perl; 这允许我们保留一个可靠的perl,我们知道OS更新不会被吹走。
我想说解决这个问题最简单的方法是完全避开shebang行,只是使用perl解释器来调用那些你真正想要执行的脚本:
/usr/local/bin/perl /path/to/someBugzillaScript.pl
这使您可以控制执行环境,而无需进行系统级更改以适应Bugzilla软件包。