- export переменных в среду, madskull, 15:55 , 27-Фев-06 (1)
>Хочу с помощью скрипта поменять PS1 >Пишу следующее: > >#!/bin/bash > >PS1="My new promt: " >echo "PS1 will be change on $PS1" >export PS1 > > >и блин не меняет, я думаю что неправильно понимаю что делает export >Объясните в чем проблема? А как вызываешь? Надо . script
- export переменных в среду, z34, 16:02 , 27-Фев-06 (2)
>А как вызываешь? >Надо . script chmod +x script.sh и ./script.sh О работает с . а какая разница?
- export переменных в среду, vic, 16:41 , 27-Фев-06 (3)
>>А как вызываешь? >>Надо . script > >chmod +x script.sh >и ./script.sh > >О работает с . >а какая разница? точка означает выполнить скрипт не в новом процессе, а в текущем, поэтому установка переменных срабатывает нормально, иначе переменные устанавливаются только для нового процесса и его потомков.
- export переменных в среду, z34, 06:01 , 28-Фев-06 (4)
> иначе переменные устанавливаются только для нового процесса > и его потомков. а разве этот скрипт не является потомком запущенного shell'a? я думал все процессы от него растут :) Т.е у каждого процесса свой параметры среды и они ни как не пересекаются...
- export переменных в среду, vic, 12:10 , 28-Фев-06 (5)
>> иначе переменные устанавливаются только для нового процесса >> и его потомков. > >а разве этот скрипт не является потомком запущенного shell'a? я думал все >процессы от него растут :) >Т.е у каждого процесса свой параметры среды и они ни как не >пересекаются... Еще раз: если скрипт запускается с использованием оператора точка, то скрипт выполняется в текущем процессе, а не в новом процессе (потомке). P.S. Все процессы растут от init - export переменных в среду, madskull, 12:20 , 28-Фев-06 (6)
>Т.е у каждого процесса свой параметры среды и они ни как не >пересекаются... Ну, естественно, потомок наследует среду от родителя. Но от потомка родителю ничего не передается.
|