Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: gvozd on September 20, 2005, 15:45:54

Title: експортирование переменных окружения из bash
Post by: gvozd on September 20, 2005, 15:45:54
у меня есть вот такой скрипт:

Code: [Select]
#!/bin/bash

export ququ=12345

Хранится в файле "the_script". Файл, понятно исполняемый.
запускаю его.
Баш... ну тот, который у меня интерактивен и из которого я его запускаю,
создает для этого файла свое окружение и запускает его в нем.

Переменная среды ququ экспортируется во вновь созданное окружение.
Скрипт выполняется, его окружение грохается.
Оригинальное окружение, в котором работает интерактивный баш осталось нетронутым.

А я ведь хотел в нем создать переменнуюю окружения "ququ"!

Как мне написать скрипт, который я мог бы запускать когда попало и результатом выполнения которого было создание переменной окружения в моем рабочем окружении?

Спасибо заранее за помощь.
Title: експортирование переменных окружения из bash
Post by: Dimmus on September 20, 2005, 20:13:52
Code: [Select]
export ququ=12345 >> /etc/profile && source /etc/profileили аналогично куда в .bashrc
Title: експортирование переменных окружения из bash
Post by: stager on September 20, 2005, 20:22:35
наверно надо запускать скрипт в этом же экземпляре bash'а
ибо дочерний процесс не может менять окружение родительского (это вам не вин которая как известно да руле) :)

Code: [Select]
$ echo $ququ

$ . ./qq
$ echo $ququ
12345
$ cat qq
#!/bin/bash

export ququ=12345
Title: експортирование переменных окружения из bash
Post by: gvozd on September 22, 2005, 10:47:54
Quote
Code: [Select]
export ququ=12345 >> /etc/profile && source /etc/profileили аналогично куда в .bashrc
[snapback]4198[/snapback]

Я думал, что использованием слов "окружение", "переменная среды" итд я дам понять, что не так все плохо :).

Мне нужно создать переменную окружения не при запуске шела, а тогда, когда я хочу. А так как их много (переменных), то я не хочу в коммандной строке набивать каждую.
Хочу 1 скрипт.

Спасибо, что на source обратил мое внимание.
Теперь я все понял.
Title: експортирование переменных окружения из bash
Post by: gvozd on September 22, 2005, 10:56:20
Quote
Code: [Select]
$ echo $ququ

$ . ./qq
$ echo $ququ
12345
$ cat qq
#!/bin/bash

export ququ=12345
[snapback]4200[/snapback]

О!
Спасибо, как раз вот этой точки мне не хватало.
У него такой длинный мануал, пропустил :).