使用perl设置环境变量

use*_*023 5 variables environment perl tcsh

我正在尝试使用Perl设置环境变量.它应该在外部(在当前shell中)将此变量导出到脚本中.

我试过了:

`setenv X1 /p/fsd`

system("setenv X1 /p/fsd") == 0 or die "failed:$?"

system command "setenv X1 /p/fsd" failed: -1

$ENV{"X1"} = "/p/fsd"; 
Run Code Online (Sandbox Code Playgroud)

似乎没有什么工作.

如果重要我正在使用TCSH.

Gil*_*not 11

$ENV{"X1"} = "/p/fsd"; 
Run Code Online (Sandbox Code Playgroud)

是正确的方法.

测试perlconsole:

Perl> $ENV{X1} = "/p/fsd";
/p/fsd

Perl> system('echo $X1');
/p/fsd
0
Run Code Online (Sandbox Code Playgroud)

注意


jca*_*llo 7

了解如何设置环境变量同样重要的是如何删除它:

delete $ENV{"X1"};
Run Code Online (Sandbox Code Playgroud)

这将删除 perl 进程和任何子进程的环境变量。但是仍然会为父进程设置环境变量。