我不确定导入这个词是否合适。我是Perl和Bash的初学者。我在Bash上设置了一个变量,所以当我这样做时:

echo $PRDIR

它打印一个字符串(它是一个目录名)
我想把这个字符串导入Perl,但我不知道该怎么做。我试过:
$varex = system("$PRDIR");
print "$varex";

还有
$varex = system("echo $PRDIR");
print "$varex";

但这不起作用(我理解最后一个,它打印“0”,因为这是echo的返回值)。我也尝试过将stdout重定向到变量,但我做不到。

最佳答案

如果您希望Bash将变量导出到环境中,以便程序可以访问该变量,则可以使用export内置:

export PRDIR

在Perl中,您可以使用%ENV散列访问它:
my $varex = $ENV{"PRDIR"};
print "\$varex is: $varex\n";

09-11 08:57