2015-06-25 11 views
0

在我的Linux機器的FT_DIR出口變量「:的Perl +如何從系統(Linux)的讀取所導出的變量

# env | grep FT_DIR 
FT_DIR=/opt/facebookDir2 

echo $FT_DIR 
/opt/facebookDir2 

它是簡單的閱讀FT_DIR從shell腳本中導出變量示例:

# 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腳本中修復哪些內容

+4

你應該使用'我$ FT_DIR = $ ENV {FT_DIR};',無需調出來砸 – arco444

+0

喜阿科,請把你的解決方案的答案,所以我會投爲你 – maihabunash

回答

1

沒有必要調用bash來獲取環境變量,perl本身就能夠做到這一點。

只需使用:

my $FT_DIR = $ENV{FT_DIR};