Область видимости переменных в sh

Модератор: Модераторы разделов

Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2

Область видимости переменных в sh

Сообщение alexsf »

Есть такая проблема: один скрипт на sh должен последовательно вызывать набор других скриптов. Первый из вызываемых должен определить определенный набор переменных окружения, остальные скрипты должны установленные переменные окружения видеть.
Проблема в том, что После выполнения первого скрипта переменные окружения для остальных не устанавливаются. Посоветуйте, как решить проблему?
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: Область видимости переменных в sh

Сообщение madskull »

сделать export VAR=...
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
nercus
Сообщения: 150

Re: Область видимости переменных в sh

Сообщение nercus »

Действие переменных распространяется только на процесс шелла, в котором они были установлены.
Для того, чтобы переменные были также видны и во всех дочерних процессах шелла, нада сделать export.
ABC=123 # только в рамках данного процесса
export ABC # а теперь и для всех дочерних процессов

добавил:
таки madskull меня опередил ;)
2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
Спасибо сказали:
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2

Re: Область видимости переменных в sh

Сообщение alexsf »

Скрипт itdata.sh, с которого все начинается:

#!/bin/bash
sh ./envvar.sh
echo $ORADBVER

Скрипт envvar.sh:

#!/bin/bash
export ORADBVER=9.2.0.6

В результате работы itdata.sh ничего не возвращает :(
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга

Re: Область видимости переменных в sh

Сообщение madskull »

Ну, значит мы тебя не поняли...

У тебя передача переменных не из главного в дочерний, а из дочернего в главный.
А это невозможно.


вместо
sh ./envvar.sh
используй
. ./envvar.sh
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2

Re: Область видимости переменных в sh

Сообщение alexsf »

Спасибо, так работает :)
Спасибо сказали: