如何在Perl中设置环境变量?
我想将$HOME
设置为与默认目录不同的目录。
如何在Perl中设置环境变量?
我想将$HOME
设置为与默认目录不同的目录。
你可以这样做:
$ENV{HOME} = 'something different';
请注意,这只会在您的脚本余下的部分中起作用。当您的脚本退出时,调用的 shell 将看不到任何更改。
正如perldoc -v %ENV
所说:
%ENV
哈希表包含当前环境。在 "ENV" 中设置值会更改后续"fork()
"出的任何子进程的环境。
$env_path= Shell::Source->new(shell=>"tcsh",file=>"../path/to/file/temp.csh");
$env_path->inherit;
print "Your env path: $ENV{HOME}";
BEGIN
块中这样做。DBI_TRACE
环境变量:use DBI;
BEGIN {
$ENV{DBI_TRACE}='SQL';
}
如果不把它放在BEGIN
块中,您的脚本将看到环境变量,但是在设置环境变量之前DBI
已经被导入了。
这听起来有点俗套,但你可以使用 system("cscript your_vbs_script") 调用一个 VBS 脚本来处理环境变量赋值。这样它将存在于下一个打开的 shell 中,而不是当前正在运行的 shell 中。