perl - 使用 perl 设置环境变量

标签 perl variables environment 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"; 

似乎没有任何工作。

如果重要的话,我正在使用 TCSH。

最佳答案

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

是正确的方法。

perlconsole 中测试:
Perl> $ENV{X1} = "/p/fsd";
/p/fsd

Perl> system('echo $X1');
/p/fsd
0

注意
  • echo $X1 上需要单引号(或反斜杠)防止 perl插入它本身。
  • 你不能改变父 shell 的 ENV,见 http://www.perlmonks.org/?node_id=684685
  • 关于perl - 使用 perl 设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389669/

    相关文章:

    python - 使用 Perl 单行代码从文本文件中提取列 : similar to Unix cut

    JavaScript 从匿名函数中读取私有(private)变量

    php - 如何在 PHP 中动态读取 Amazon EC2 实例的环境变量

    python - python 与 PYTHONPATH 哪个

    css - SASS:从类列表生成变量列表(反之亦然)

    python - 在 Tomcat 上安装 CGI 代理

    c++ - 在 C++ 中使用 popen 执行 perl 命令时出错

    perl - 有哪些 RAD 工具可用于在 Perl 中构建 GUI?

    perl - 使用 WWW::Mechanize 访问链接时出错

    java - 声明一堆相似变量的最少行数