Re: Re: Re: переменные окружения
17.06.07, yuri.nefedov@gmail.com<yuri.nefedov@gmail.com> написал(а):
On Sun, 17 Jun 2007, Artem Chuprina wrote:
>>
>> Нет. В этом случае надо использовать конфигурационные файлы.
>
> Одно другому не третье. Какие-то вещи _данному юзеру_ удобнее
> записать в конфиг, а какие-то - задать в окружении. Задание в
> окружении позволяет унаследовать информацию из запустившей программы
> тремя уровнями ниже. Ни конфиг, ни ключ этого не позволяют.
>
Да тот же setenv из программы, зато после выхода само почистится.
А setenv, по-твоему, где переменные выставляет? Точно так же, то, что
выставлено в запускающем скрипте, само почистится после его
завершения.
>> На каждую программу свой файл. А то делают из environment
>> помойку a la win-register...
>
> А чем лучше делать ее из ~/ (а твое предложение ведет именно к этому)?
Тем что в окружении мы живём, а ~/ - это просто место на диске, -
так окраина.
А на мой взгляд помойка - это всегда плохо. Мне, например, помойка в
~/ засоряет вывод ls или find.
>> Единственное приемущество environment перед конфигом, это то что
>> всё уже в памяти лежит и не нужен доступ к диску.
>
> Не единственное. См. выше. Причем если аргумент про помойку - всего
> лишь вкусовщина, то передача информации через пару exec'ов вообще
> иначе не делается. Вернее, делается, но через ТАКУЮ жопу...
Да не против я environment, как явления. Просто используют его
часто не по делу и не к месту.
Конечно, нечего огород городить если речь идет о EDITOR, HOST, HOME,
PROXY LD_LIBRARY_PATH и иже с ними.
Но скажите мне зачем вот это всё?
G4ELASTICDATA=/afs/cern.ch/exp/harp/Software/packages/GEANT4/geant4.7.1.p01/shar
e/data/Elastic
G4LEDATA=/afs/cern.ch/exp/harp/Software/packages/GEANT4/geant4.7.1.p01/share/dat
a/G4EMLOW
G4LEVELGAMMADATA=/afs/cern.ch/exp/harp/Software/packages/GEANT4/geant4.7.1.p01/s
hare/data/PhotonEvaporation
G4RADIOACTIVEDATA=/afs/cern.ch/exp/harp/Software/packages/GEANT4/geant4.7.1.p01/
share/data/RadiativeDecay
Просто места, где данные лежат. И чем было бы плохо в конфиге указать?
Ну, например, если у тебя их несколько версий на одной машине. Нет,
не самих данных. И часть утилит из комплекта могут быть общими для
этих версий. Как ты в конфиге им будешь объяснять, с каким комплектом
данных сейчас работать?
Потом, "после выхода само очистится". Не, если оно подразумевает
работу как с упомянутой мной оффтопичной программой... Впрочем, и там
у меня ейный батник запускается не всегда, а только в том шелле,
из-под которого потом (через 2 уровня make, ага) запускается cl. И
окружение других программ не засоряет.
Reply to: