在从子命令导入环境时,我想将从 bash 脚本导出的所有环境变量添加到哈希中。运行时program
,它会设置一些变量并导出它们。我想将这些变量保存在 Perl 脚本中以备后用。但是我不想使用子命令中定义的 bash 函数。目前,我有一个像这样的块:
foreach (`program; env`)
{
next if /^\(\)/;
my ($a, $b) = split("=", $_);
if( /^(\w+)=(.*)$/ ) {
$hash{$1} = $2;
}
}
有一个更好的方法吗?我不确定匹配初始 () 是否安全。处理环境变量中的换行符的奖励积分,我现在只是闭上眼睛。