gpt4 book ai didi

perl - 如何在 Perl 脚本中导出 shell 变量?

转载 作者:行者123 更新时间:2023-12-04 16:56:35 25 4
gpt4 key购买 nike

我有一个 shell 脚本,其中包含一个 shell 变量列表,它在进入编程环境之前执行。

我想用一个Perl脚本进入编程环境:

system("environment_defaults.sh");
system("obe");

但是当我进入环境时,变量没有设置。

最佳答案

当您调用第二个命令时,它不是在您在第一个命令中修改的环境中完成的。实际上,第一个命令没有留下任何环境,因为用于调用“environment_defaults.sh”的shell已经退出。

要将第一个命令的上下文保留在第二个命令中,请在同一个 shell 中调用它们:

system("source environment_defaults.sh && obe");

请注意,您需要使用 source 调用 shell 脚本。为了在当前 shell 中执行它的操作,而不是调用一个新的 shell 来执行它们。

或者,在每个 shell 的开头修改您的环境(例如,使用 .bash_profile,如果使用 bash),或者在 perl 本身中更改您的环境变量:
$ENV{FOO} = "hello";
system('echo $FOO');

关于perl - 如何在 Perl 脚本中导出 shell 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com