【发布时间】:2019-09-09 04:17:12
【问题描述】:
Perl 可以访问一些环境变量:
> echo $HOST
xtt006
> perl -E 'say $ENV{HOST}'
xtt006
> perl -E 'say `echo \$HOST`'
xtt006
但显然还有另一类环境变量不在 ENV 哈希中:
> echo $env
opsd
> perl -E 'say $ENV{env}'
(no response from Perl)
> perl -E 'say `echo \$env`'
(no response from Perl)
那是怎么回事? Perl 是否有另一种技术可以获取 $env 的值?
【问题讨论】:
-
不,我在运行“env”时看不到它。但我确实看到了“echo $env”。
-
是的,我应该。有人告诉我“你通过输入 'echo $foo' 来显示环境变量 'foo' 的值,显然这解释过于简单。env 是一个“本地 shell 变量”,如下 zdim 所示?
-
"too simplistic ..." --- 事实上,
echo $foo显示 any shell 变量的值,本地或环境。但是env(或printenv)只显示环境变量(全部)。
标签: perl environment-variables