在终端中,我可以访问变量$LINES
。
$ echo $LINES
39
运行Perl脚本如下:
#!/usr/bin/env perl
use strict; use warnings;
my $cmd = q|echo $LINES|;
my $lines = `$cmd`;
print "lines: $lines\n";
给出输出:lines:
。我也尝试过访问%ENV
,但它不包含这个特定的密钥。
如何从Perl脚本访问shell变量$LINES
?
发布于 2020-01-14 13:35:55
来自巴什手册
当一个程序被调用时,它会被赋予一个称为环境的字符串数组。..。shell提供了几种操作环境的方法。在调用时,shell扫描它自己的环境,并为找到的每个名称创建一个参数,并自动标记它以导出到子进程。执行的命令继承环境。
export
和declare -x
命令允许将参数和函数添加到环境中并从环境中删除。
所以(假设是一个Bash shell)使用:
export LINES
将使变量$LINES
从$ENV{LINES}
脚本中从Shell中获得(使用来自Perl脚本的$ENV{LINES}
)。
https://stackoverflow.com/questions/59734231
复制相似问题