Доброго времени суток Читаю книгу Тейнсли Linux и Unix. Программирование в Shell и столкнулся с проблемой, не работающей команды export в скриптах bash. если устанавливать переменные из командной строки то всё нормально, а из скриптов нет. Я так понимаю, проблема в том что скрипт является дочерним процессом shell39;а, и передать переменную из дочернего процесса в родительский нельзя . Подскажите пожалуйста, как решить эту проблему .
на 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
Серёга Gerion Einar Левин, твои догадки верны.Вот что по этому поводу написано в Advanced Bash-Scripting Guide:----------------------------------------------------------------Сценарий не может экспортировать переменные родительскому процессу - оболочке. Здесь как в природе, потомок может унаследовать черты родителя, но не наооборот.WHATEVER=/home/bozoexport WHATEVERexit 0bash036; echo 036;WHATEVERbash036;Будьте уверены -- при выходе в командную строку переменная 036;WHATEVER останется неинициализированной.----------------------------------------------------------------Походу никак. Мне тоже интересно, если найдешь решение напиши.