我的Linux机器中的 FT_DIR 导出变量是“:
# env | grep FT_DIR
FT_DIR=/opt/facebookDir2
或
echo $FT_DIR
/opt/facebookDir2
从shell脚本示例中读取FT_DIR导出变量很简单:
# more test.ksh
#!/bin/ksh
echo $FT_DIR
运行脚本:
./test.ksh
/opt/facebookDir2
但是在Perl中,故事是不同的
more test.pl
#!/usr/bin/perl -w
my $FT_DIR = ` bash -c 'echo $FT_DIR' ` ;
print $FT_DIR;
运行脚本:
./test.pl
Name "main::FT_DIR" used only once: possible typo at ./test.pl line 3.
Use of uninitialized value in concatenation (.) or string at ./test.pl line 3.
为什么Perl脚本中的 FT_DIR 不是/ opt / facebookDir2值
如何在Perl中读取导出的变量FT_DIR? ,需要在我的Perl脚本中修复什么
答案 0 :(得分:1)
没有必要调用bash
来获取环境变量,perl能够自行完成。
只需使用:
my $FT_DIR = $ENV{FT_DIR};