fred basset
fred basset

Reputation: 10082

Want to export environment variable from startup script to other shells

I'm working on an embedded system using Busybox as the shell. My startup script rcS exports a number of variables:

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

which are then available to scripts called from this script as I'd expect. What I want however is for these environment variables to be set in the environment for which some web server scripts are called. This is currently not the case. How do I make an environment variable available to any shell script called?

TY, Fred

ps : my busybox is BusyBox v1.11.2 (2012-02-26 12:08:09 PST) built-in shell (msh)

Upvotes: 0

Views: 4100

Answers (1)

ams
ams

Reputation: 25579

Environment variables are only inherited by child processes of your script (and their child processes); you can't push them up to a parent process.

What you can do is write the variables to a file (as a shell script) which you can then include from wherever you like. Put source filename in /etc/.profile and it will probably do what you want.

Upvotes: 2

Related Questions