2012-03-14 1 views
0

Я работаю над встроенной системой, использующей Busybox в качестве оболочки. Мой сценарий запуска 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 

, которые затем доступны для скриптов, вызываемых из этого сценария, как я ожидал. Тем не менее, я хочу, чтобы эти переменные среды были установлены в среде, для которой вызывается несколько сценариев веб-сервера. В настоящее время это не так. Как сделать переменную среды доступной для любого сценария оболочки?

TY, Фред

пс: мой BusyBox является BusyBox v1.11.2 (2012-02-26 12:08:09 PST) встроенный в оболочку (MSH)

+1

Веб-серверы, как правило, суетливы, о которых, если таковые имеются, переменные среды, на которые они обращают внимание. Возможно, вам придется добавить директиву 'PassEnv' на ваш' httpd.conf', если ваш веб-сервер Apache. –

ответ

1

Переменные окружения только унаследовали посредством дочерних процессов вашего скрипта (и их дочерних процессов); вы не можете подтолкнуть их к родительскому процессу.

Что вы можете сделать, это записать переменные в файл (как сценарий оболочки), который затем можно включить из любого места, где захотите. Поместите source filename в /etc/.profile, и он, вероятно, сделает то, что вы хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^