Не магу зразумець працу export у bash-скрыпце

Все о программировании под *nix
Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Не магу зразумець працу export у bash-скрыпце

Сообщение Victor Gr. »

Хутчэй за ўсё гэтую тэму трэба памясціць у "пытанні для чайнікаў", але праграмавання яно таксама кранаецца.

Нешта не тое, не працуе ў мяне.

Калі я пішу ў кансолі:

Код: Выделить всё

$ A='111'; export A;
А потым праглядаю export, то бачу, як такая пераменная з'явілася ў асяроддзі:

Код: Выделить всё

victor@vortex:~/Desktop$ export
declare -x A="111"
Але, калі я раблю тыя ж самые дзеянні з bash-скрыпта:

test.sh:

Код: Выделить всё

#!/bin/bash

B='111';
export B;
То пераменнай B у асяроддзі не з'яўляецца. Чаму??

Аватара пользователя
soko1
Интересующийся
Сообщения: 40
Зарегистрирован: 03 сен 2004, 20:22
Откуда: Менск
Контактная информация:

Сообщение soko1 »

переменная глобальна в пределах одного сеанса.

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

sokol, не зразумеў. Ёсць жа нейкая магчымасць змяняць знешнія пераменныя.

Аватара пользователя
kae
Неотъемлемая часть форума
Сообщения: 318
Зарегистрирован: 26 янв 2003, 03:53
Откуда: Дзержинск, РБ.
Контактная информация:

Сообщение kae »

Victor Gr., переменная B не сохраняется потому, что test.sh испполняется другим процессом bash'а и "забывается" по его завершению.
Будем же учиться хорошо мыслить — вот основной принцип морали
— Паскаль

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Victor Gr. писал(а):sokol, не зразумеў. Ёсць жа нейкая магчымасць змяняць знешнія пераменныя.
Няма AFAIK. Пераменныя асяроддзя вызначаюцца у бацькоўскім працэсе і замяняюцца ў самім працэсе. Дзіцячы працэс іх змяніць ня можа.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

Можно выполнить скрипт в текущем шеле, т.о. скрипт будет изменять нужные переменные.

Смотреть на тему built-in комманды "source" или "."

Ответить