2014-02-27 77 views
0

我完全不熟悉unix或perl或cgi或apache,但已被分配到找到一種方法來在cgi網頁上設置unix上的環境變量。從cgi頁執行unix輸出

我可以成功地將環境變量

$ ENV {PROGPATH} = $資料{PROGPATH};

但是當4ge程序啓動後自己啓動另一個程序時,這個變量似乎'消失'了。我想我需要運行命令

export PROGPATH;

爲了讓它成爲第二個程序的「堅持」。

我似乎無法找到一種方法來成功地從啓動第一個程序的cgi頁面執行此操作。

+1

像'system(「export $ PROGPATH」);''也許? – abiessu

+0

其實abiessu,這是有效的。如果你回答這個問題,我會將其標記爲修復。謝謝。 – Belmiris

回答

1

在Perl中,system命令執行任何給定的命令行命令。在這裏,有必要export $PROGPATH等完整的命令將

system("export $PROGPATH"); 

注意,這可能會離開您的系統容易受到各種攻擊,所以你可能希望確保$PROGPATH得到在此之前調用理智檢查。

1

簡單的事:

$ENV{FOO}=1; 

system('echo FOO=$FOO'); 

當Perl的運行系統,它導出的變量的派生進程。