相关疑难解决方法(0)

如何在Perl中设置环境变量?

如何在Perl中设置环境变量?

我想设置$HOME一个不同于默认目录的目录.

perl environment-variables

18
推荐指数
2
解决办法
3万
查看次数

使用perl设置环境变量

我正在尝试使用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.

variables environment perl tcsh

5
推荐指数
2
解决办法
3万
查看次数

如何在Perl脚本中共享ENV变量

我有两个Perl脚本以及GIT钩子脚本.在那里我正在验证GIT工作流程.这是调用堆栈的脚本.

pre-push - > unpush-changes - > dependency-tree

unpush-changes perl脚本中有一个for循环,它将调用dependency-tree perl脚本.

前推

system("unpushed-changes");
  my $errorMsg = $ENV{'GIT_FLOW_ERROR_MSG'}// '';
  if($errorMsg eq "true"){
     print "Error occured!";
   }
Run Code Online (Sandbox Code Playgroud)

unpush-changes.pl

  for my $i (0 .. $#uniqueEffectedProjectsList) {
      my $errorMsg = $ENV{'GIT_FLOW_ERROR_MSG'}// '';
      if($errorMsg ne "true"){
        my $r=system("dependency-tree $uniqueEffectedProjectsList[$i]");
     }else{
        exit 1;
     }

   }
Run Code Online (Sandbox Code Playgroud)

dependency-tree.pl

if(system("mvn clean compile  -DskipTests")==0){
     print "successfully build"; 
     return 1;
 }else{
      $ENV{'GIT_FLOW_ERROR_MSG'} = 'true';
      print "Error occured";
      return 0;
  }
Run Code Online (Sandbox Code Playgroud)

在我的依赖树脚本中,如果发生错误,我已经设置了ENV变量,并且将在unpush-changes脚本中的每次迭代中进行检查.但是它的ENV值为空而不是true.我也尝试返回一些值,如果失败并尝试验证它,但似乎它也没有工作.所以我的要求是我如何在所有脚本之间共享一个全局变量.如果有更好的方法,请告诉我.

perl

4
推荐指数
1
解决办法
494
查看次数