为什么这个perl命令会产生意外的结果



在我的.bashrc中,我有

eval "$(perl -I$HOME/util/perl5/lib/perl5 -Mlocal::lib)"; export PERL5LIB=$HOME/util/perl5:$PERL5LIB

如果之后我做

env | grep PERL5LIB

我看到

PERL5LIB=/home/myUser/util/perl5:/home/myUser/perl5/lib/perl5:

为什么第二条路径不正确?我希望

/home/myUser/util/perl5/lib/perl5

添加到PERL5LIB,而不是

/home/myUser/perl5/lib/perl5

我是否误解了传递给eval的perl命令?在命令行(而不是从.bashrc(中运行的该命令的输出是

$ perl -I$HOME/util/perl5/lib/perl5 -Mlocal::lib
Attempting to create directory /home/myUser/perl5
$

除非另有说明,否则local::lib使用~/perl5。

更改

perl -I$HOME/util/perl5/lib/perl5 -Mlocal::lib

perl -I$HOME/util/perl5/lib/perl5 -Mlocal::lib=$HOME/util/perl5

最新更新