【发布时间】:2013-10-12 03:04:46
【问题描述】:
我正在尝试通过 Perl 脚本以下列方式设置环境变量 LD_LIBRARY_PATH:
我在/root下创建了.profile
.profile 有一个export 命令说:
export LD_LIBRARY_PATH=/
我的 Perl 脚本是 test.pl,它有:
#!/usr/bin/perl
system(". /root/.profile");
当我执行./test.pl 时,LD_LIBRARY_PATH 不会改变。
我做错了什么?
【问题讨论】:
-
你不能改变另一个进程的环境。
-
只能改变进程本身的环境。然后这个环境将被它产生的子进程继承。由于
system()在 perl 的子进程中运行 shell 命令,因此它所做的任何环境更改都不会影响 perl,也不会影响调用 perl 的 shell。 -
那么如何在 perl 脚本中更改环境变量?