The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Переменные в shell"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Переменные в shell"
Сообщение от r4 emailИскать по авторуВ закладки on 16-Фев-04, 18:47  (MSK)
Здравствуйте.

Как переменные назначенные в одном шелл скрипте сделать доступными в другом(хотя бы родительском)?

Тоесть a.sh вызывает b.sh, в котором задаюца значения некоторых переменных, и потом когда b.sh возвращает управление a.sh, то a.sh уже
"знает" эти переменные. Желательно с примерами %)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Переменные в shell"
Сообщение от vt Искать по авторуВ закладки on 17-Фев-04, 15:15  (MSK)
> Как переменные назначенные в одном шелл скрипте сделать доступными в другом(хотя
>бы родительском)?

Если именно в "родительском", то никак.
Если наоборот, то
export var1 var2 ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Переменные в shell"
Сообщение от DonkeyHot Искать по авторуВ закладки on 18-Фев-04, 12:43  (MSK)
>Если именно в "родительском", то никак.

Что значит "никак"? Вот 2 способа:

1. в первом: { . второй }

2. в первом: { eval `второй` }
  во втором: { for i in $vars ; do echo $var="'"$var"'" ; done }

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Переменные в shell"
Сообщение от vt Искать по авторуВ закладки on 18-Фев-04, 20:41  (MSK)
>1. в первом: { . второй }

Это не вызов второго скрипта из первого,
а подстановка текста второго скрипта в первый.
"Почувствуйте разницу" -
ВСЕ преременные второго скрипта должны иметь имена,
отличающиеся от имен переменных первого скрипта.

>2. в первом: { eval `второй` }
>во втором: { for i in $vars ; do echo $var="'"$var"'" ; done }

Даже если исправить здесь ошибки,
сама идея явно подставить первому скрипту строчки
определений переменных выводом через stdout не катит,
т.к. мало ли что еще может выводить второй скрипт на stdout.

Так что, вынужден настаивать на "никак" :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Переменные в shell"
Сообщение от DonkeyHot Искать по авторуВ закладки on 20-Фев-04, 11:22  (MSK)
Конечно не вызов. Но результат _может_ быть правильным - в зависимости от содержания второго скрипта:-)

Что касается второго - то действительно, наошибался я не мало. Но все же
так во многих местах работает. А если нужно еще что-то выводить на stdout - всегда можно воспользоваться промежуточным файликом.

>Так что, вынужден настаивать на "никак" :)

Вынужден возражать:-)

Скорее стоит говорить, что "если такое понадобилось - нужно переписать оба скрипта".

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру