在perl程序中设置路径

时间:2012-06-17 05:30:04

标签: perl

我有一个bluehost服务器设置,我正在尝试在我的perl程序中设置路径

 print "Content-type: text/html\n\n";
    my $output=`export PATH=\${PATH}:/usr/local/jdk/bin`;
    my output1=`echo \$PATH`;
    print $output1;

然而,它只打印原始的$ PATH。 / usr / local / jdk没有添加。谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:12)

您正在创建一个shell,执行一个shell命令,在shell中设置一个环境变量,然后退出shell而不对环境变量做任何事情。你从未改变perl的环境。这将使用

完成
local $ENV{PATH} = "$ENV{PATH}:/usr/local/jdk/bin";
但是,有点奇怪的是添加到路径的末尾。

答案 1 :(得分:3)

请注意,ikegami的答案只会在本地Perl脚本中设置路径,并且不会为调用Perl脚本的shell更改它。

如果您希望更改shell环境中的路径,那么您运行的下一个程序也将受益于此更改, 你必须使用'来源'或“点空格”序列, 或者更好 - 将此更改改为“ .bashrc ”或“ .login ”文件中的路径。