我有一个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没有添加。谁能告诉我我做错了什么?
答案 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 ”文件中的路径。