2012-03-14 42 views
0

我正在使用Busybox作爲shell的嵌入式系統上工作。我的啓動腳本rcS中導出大量的變量:想要將環境變量從啓動腳本導出到其他shell

 
UBOOT_ENV="gatewayip netmask netdev ipaddr ethaddr eth1addr hostname nfsaddr" 
for i in $UBOOT_ENV; do 
     if [ -n "$i" ] ; then 
       export `fw_printenv $i` 
     fi 
done 

然後將它們提供給腳本此腳本稱爲我所期待。但是我想要的是這些環境變量可以在某些Web服務器腳本被調用的環境中設置。目前情況並非如此。我如何讓一個環境變量可用於任何被調用的shell腳本?

TY, 弗雷德

PS:我的busybox的是BusyBox的v1.11.2(2012-02-26 12點08分09秒PST)內置外殼(MSH)

+1

Web服務器往往對他們所關注的環境變量(如果有的話)很挑剔。如果您的Web服務器是Apache,您可能需要在您的'httpd.conf'中添加一個'PassEnv'指令。 – 2012-03-14 01:40:53

回答

1

環境變量只繼承通過腳本的子進程(及其子進程);你不能將它們推到父進程。

你可以做的是將變量寫入一個文件(作爲shell腳本),然後你可以從任何你喜歡的地方包含這些變量。把source filename放在/etc/.profile,它可能會做你想做的。

相關問題