Назад в школе, в лаборатории CS (рабочие станции солнца в то время) я скомпилировал mpg123 из источника в моем корневом каталоге (который был забавой), и затем каждый раз, когда любой выйдет из лаборатории (w/out блокировка их рабочей станции), я изменил бы их .cshrc (оболочка значения по умолчанию рабочих станций) для проигрывания "Воображают" John Lennon каждый раз, когда они вошли в систему. Это развлекло меня ни к какому концу, слыша, что песня, играя очень бесшумно (рабочие станции только имели внутренние динамики) со всех концов лаборатории любое время суток или ночь, что я вошел.
Как страница, к которой Вы обращаетесь, говорит,
Выскочка позволяет Вам устанавливать переменные среды, которые будут доступны для заданий, в конфигурационных файлах задания которых они определяются.
Указывание, что переменные установлены в среде, используемой системными демонами при запуске. Пользовательская среда настроена отдельно, после того как Вы входите в систему.
Если Вы хотите проверить, знает ли демон о переменной, которую Вы устанавливаете, можно протестировать это путем временного изменения ее сценария запуска и добавления чего-то как logger "=============== The variable FOO is set to $FOO ====================="
. Необходимо затем видеть, информация, зарегистрированная во время начальной загрузки (заглянуть /var/log/messages
например).
В Вашем примере, что переменная могла использоваться в том же файле.
Отметьте в новомодной поваренной книге.
Обратите внимание, что Конфигурационный файл Задания не имеет доступа к переменным среды пользователя, даже суперпользователь. Это не возможно, так как все созданные процессы задания являются детьми init, который не имеет среды пользователя.
Дальнейшее объяснение из новомодной поваренной книги.
Позволяет говорят, что Вы пишете env TESTING=123
в Вашем *.conf файле затем можно использовать эту переменную в блоке сценария ниже (тот, который Вы использовали),
script
# prints "TESTING='123'" to system log
logger -t $0 "TESTING='$TESTING'"
end script
Или немного более сложный подход позволил бы Вам использовать Вас переменная в заданиях, которые 'слушают' Ваше задание:
# /etc/init/A.conf
start on wibble
export foo
# /etc/init/B.conf
start on A
script
logger "value of foo is '$foo'"
end script
То, что Вы хотите выполнить, лучше подходит /etc/profile
который является source
'редактор оболочками входа в систему.
export foo="String here"
echo $FOO
и доберитесьstringhere
. – Coder 15.09.2011, 17:50