gpt4 book ai didi

perl - Shell 变量在双引号 Perl 单行中可见

转载 作者:行者123 更新时间:2023-12-01 08:52:12 25 4
gpt4 key购买 nike

我知道 shell 变量是当前 shell 的本地变量,而环境变量(exported 变量)被传递到由 shell 派生的子进程。

当我在双引号内运行 Perl 单行代码时,我可以从 forked perl 进程访问(本地)shell 变量:

$ FOO=bar
$ perl -we "print qx'echo $FOO'"
bar

这是为什么呢?

最佳答案

这是因为双引号字符串中的 shell 变量插值。

$FOO 变量在父 shell 中进行评估 - 其中 $FOO 的值为 bar - 并插入到引用的字符串中。

因此你实际运行的 perl 代码是:

print qx'echo bar'

关于perl - Shell 变量在双引号 Perl 单行中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38712791/

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