Я установить некоторые переменные окружения следующим образом:
MY_VAR='helloworld'
export MY_VAR
затем я переключился на другого пользователя через
su SOME_OTHER_USER
Я повторяю переменную MY_VAR.. и я вижу в этом ценность!
1) не могли бы вы объяснить этот вопрос. Насколько я понимаю, когда я экспортирую переменную через команду export, это не "глобальный" экспорт, а просто локальная пользовательская переменная. Почему я вижу это?
2) Изначально у меня было предположение: может быть, когда я переключиться на другого пользователя я запустите некоторый дочерний процесс моего процесса bash, и поэтому я вижу свою переменную, потому что экспортированные vars передаются любому дочернему процессу текущей оболочки. Но команда ps ---pid <my bash's pid which I got with echo $$>
показывает только тот же pid в выходных данных. Таким образом, похоже, что это означает, что нет дочерних процессов, связанных с моим процессом bash, и su не запускает никакого процесса. Я прав?
(кстати, я не вижу ни одного "ребенка" таким образом, даже если я начну еще один Баш с командой bash, я не знаю, почему)
3) и наконец, кто может видеть переменная i экспортировали таким образом? Дал Я запустить другой процесс с моей ОС с GUI - я увижу его? Похоже, нет, потому что, если я начну другой терминал, я не увижу его там. Итак, какова область действия и время существования экспортируемой переменной?
Я использую Debian Wheezy. Я запускал свою команду из RootTerminal под пользователем Root.