Хм ... Щодо Mac OS X 10.10.5 і, мабуть, раніше, man -s5 launchd.conf
нам це каже: " launchd.conf is no longer respected by the system.
" У мене зараз дуже багато речей, щоб поставити фіктивну змінну у файл і перезапустити, щоб побачити, чи справді це працює чи ні після все, але документація говорить, що це не повинно працювати.
Я впевнений, що цього не вийде. Зробіть man launchctl
і побачите: " The /etc/launchd.conf file is no longer consulted for subcommands to run during early boot time; this functionality was removed for security considerations.
"
Що ви можете зробити, це помістити всі змінні середовища, які ви хочете отримати глобальним результатом, у якийсь файл, який може бути названий environment
відповідно до Linux, або (якщо Apple вирішить зробити щось із цим пізніше - ви ніколи не знаєте) environment.conf
, як я, потім джерело цього через /etc/profile
:
if [ -f /etc/environment.conf ]; then
source /etc/environment.conf
fi
або, якщо ви віддаєте перевагу компактному формату:
if [ -f /etc/environment.conf ]; then . /etc/environment.conf; fi
Якщо ви використовуєте інший оболонку, ніж bash, і він використовує той самий синтаксис налаштування змінної, що і bash (як і zsh, я думаю), вам також потрібно буде джерело цього файлу з загальносистемного файлу rc цієї оболонки (наприклад /etc/zshrc
). Якщо ви використовуєте оболонку, яка використовує інший синтаксис, наприклад, tcsh, вам потрібно буде або зберегти подібний файл для цієї оболонки, і вивести її з загальносистемного файлу rc оболонки (наприклад, /etc/csh.cshrc
для tcsh), або ще краще створити сценарій що автоматично генерує його, тому вам потрібно редагувати лише один файл, щоб додати / змінити змінні. Це не місце для такого підручника; за кілька секунд у Google з'ясувалося, як перетворити експорт змінної [t] csh в синтаксис bash, за адресою https://stackoverflow.com/questions/2710790/how-to-source-a-csh-script-in-bash-to -set-оточення, тож, мабуть, є щось доступне, щоб піти в іншому напрямку.
Мій досвід, як Mac OS X рухається все далі і далі від передбачуваної поведінки файлів rc. Щонайменше, 10,8, він більше не здається, що завантажується /etc/rc.common
, /etc/rc.conf
або /etc/rc.<anything>
, ні (оскільки, принаймні, 10,9) він буде завантажуватися /etc/bash.bashrc
для інтерактивних нелогінних оболонок (що, безумовно, слід робити, як і завантажує ~/.bashrc
для них, як і раніше, 10.10) . Потім знову в мене встановлено Fink, MacPorts та Homebrew, тому, можливо, один із них заважає поведінці dotfile за замовчуванням. YMMV.
/etc/environment
) не зчитується, оскільки це не будь-який міжсистемний стандарт - він лише частина засобу Linux PAM. Mac OS X не є Linux і не використовує PAM, а також інші операційні системи, наскільки мені відомо. Ви з цим пішли лише через те, що ви були на Linux, мабуть. І так, це все ще читається - Linux ;-)