Лаборатория Ubuntu
Опыт установки, настройки и использования
Ubuntu Linux Вопросы и ответы Об Ubuntu Новости Игры Записки для новичка
Поиск:

не работает export в скриптах | Форум


Вернуться к спискам тем

 Серёга Левин создал тему 13.11.2009 в 16:12
 Новичок  Сообщений: 2
 Репутация: 11

 Сейчас не на форуме
Доброго времени суток Читаю книгу Тейнсли Linux и Unix. Программирование в Shell и столкнулся с проблемой, не работающей команды export в скриптах bash. если устанавливать переменные из командной строки то всё нормально, а из скриптов нет. Я так понимаю, проблема в том что скрипт является дочерним процессом shell39;а, и передать переменную из дочернего процесса в родительский нельзя . Подскажите пожалуйста, как решить эту проблему .
Цитировать

 Менеджер по рекламе рекомендует
 Знаток своего дела  Сообщений: 1987
 Репутация: 5055

 Сейчас на форуме

 Роман Никифоров ответил 13.11.2009 в 16:25
 Новичок  Сообщений: 11
 Репутация: 14

 Сейчас не на форуме
ты в bash или sh пишешь?
Цитировать

 Серёга Левин ответил 13.11.2009 в 16:37
 Новичок  Сообщений: 2
 Репутация: 11

 Сейчас не на форуме
на bash вот пример скрипта. /bin/sh я заменяю на /bin/bash/bin/bashif [ -z 036;EDITOR ]thenecho Your EDITOR enviroment is not setecho I will assume you want to use vim . OK?echo -n Do you wish to change it now? [y/n]: read ANSif [ 036;ANS = y ] || [ 036;ANS = Y ]thenecho -n enter your editor type: read EDITORif [ -z 036;EDITOR ] || [ 036;EDITOR = ]thenecho No, editor entered, using vim as defaultEDITOR=vimexport EDITORfiEDITOR=036;EDITORexport EDITORecho setting 036;EDITORfielseecho You use 036;EDITOR as editorfi
Цитировать

 Александр Попов ответил 17.11.2009 в 14:26
 Новичок  Сообщений: 3
 Репутация: 11

 Сейчас не на форуме
Серёга Gerion Einar Левин, твои догадки верны.Вот что по этому поводу написано в Advanced Bash-Scripting Guide:----------------------------------------------------------------Сценарий не может экспортировать переменные родительскому процессу - оболочке. Здесь как в природе, потомок может унаследовать черты родителя, но не наооборот.WHATEVER=/home/bozoexport WHATEVERexit 0bash036; echo 036;WHATEVERbash036;Будьте уверены -- при выходе в командную строку переменная 036;WHATEVER останется неинициализированной.----------------------------------------------------------------Походу никак. Мне тоже интересно, если найдешь решение напиши.
Цитировать


Чтобы ответить, нужно авторизоваться здесь



Пользователь
Авторизация на сайте:
Email:
Пароль:
Запомнить (Регистрация)

Новости
Ubuntu
Linux
Сайт
Игры
 Игры для Ubuntu
Текущие проблемы:
Отсутствие gparted после установки 9.04
Дата создания: 02.05.2009 9:32
Audacious играет тише других плееров. Что с ним сделать???
Дата создания: 02.05.2009 8:16
KDE 4.2
Дата создания: 01.05.2009 21:29
поднятие VPN pptp-сервера
Дата создания: 01.05.2009 20:46
Проблема с видеодрайвером на NVidia (траблы с редактированием xorg.conf) [РЕШЕНО- смена дистрибутива]
Дата создания: 01.05.2009 17:59
проблема с lineage2 gracia
Дата создания: 01.05.2009 16:09

2010-2012 © Лаборатория Ubuntu