相关疑难解决方法(0)

如何从Perl设置Windows PATH变量?

我需要在Perl中设置一个环境变量.理想情况下,我需要查询变量,然后更改它,如果它不是所需的.具体来说,它是我想要改变的PATH变量.

如何获取和设置这些变量?

windows environment perl

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

通过Perl脚本设置环境变量

我试图LD_LIBRARY_PATH通过以下方式通过Perl脚本设置环境变量:

我创建了.profile/root

.profile有一个export命令说:

export LD_LIBRARY_PATH=/
Run Code Online (Sandbox Code Playgroud)

我的Perl脚本是test.pl,它具有:

#!/usr/bin/perl
system(". /root/.profile");
Run Code Online (Sandbox Code Playgroud)

当我执行时./test.pl,LD_LIBRARY_PATH不会改变.

我究竟做错了什么?

linux bash perl sh

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

如何在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
查看次数

标签 统计

perl ×3

bash ×1

environment ×1

linux ×1

sh ×1

windows ×1