想要将环境变量从启动脚本导出到其他shell

时间:2012-03-14 01:22:00

标签: shell environment-variables busybox

我正在使用Busybox作为shell的嵌入式系统。我的启动脚本rcS导出了许多变量:

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)内置shell(msh)

1 个答案:

答案 0 :(得分:1)

环境变量只能由脚本的子进程(及其子进程)继承;你不能把它们推到父进程。

您可以做的是将变量写入文件(作为shell脚本),然后您可以从任何位置包含这些变量。将source filename放在/etc/.profile中,它可能会执行您想要的操作。