从shell文件导入linux环境变量

时间:2015-06-11 06:09:44

标签: perl environment-variables

我想将我的linux用户shell文件中设置的环境变量导入到我的perl脚本中? 而且我不想解析key = value对。 怎么办呢?

4 个答案:

答案 0 :(得分:1)

在此处查看解决方案:http://darkdiary.ru/users/TLoD_Snake/3233201/comment/

Perl执行你的shell命令文件,如果它发现之前没有执行shell命令,则重新执行。

我在StackOverflow上找到了来自TLoD_Snake的解决方案,但我找不到确切的问题,所以我只是指向他的博客。

答案 1 :(得分:0)

您可以使用Env模块。

$ENV{Variablename}

答案 2 :(得分:0)

假设您想从当前的shell而不是任意文件中获取它们,您实际上可以访问所有环境变量,例如:

pax> perl -e 'print $ENV{"HOME"}."\n"'
/home/pax

或者,如果你想枚举它们(例如按排序顺序):

foreach $key (sort keys %ENV) {
    print "[$key] -> [$ENV{$key}]\n";
}

答案 3 :(得分:0)

现在可以使用Env::Modify模块完成此操作。

use Env::Modify 'source';
source("$ENV{HOME}/.my_user_shell_file");