1

環境変数を設定すると

launchctl setenv FOO test

次の方法で値を取得できます

launchctl getenv FOO

「テスト」を返しますが、単純です

echo $FOO

結果は空です。同じターミナルでも、新しいターミナルでも。

背景: Yosemite 10.10 はシステム全体の設定で /etc/launchd.conf をサポートしなくなったため、launchd.conf を介した環境変数の設定は OS X Yosemite/El Capitan/macOS Sierra では機能しなくなりましたか? かなり有望に見えますが、 経由で環境変数にアクセスする必要がありますが$VARNAME、これは私の場合は機能しません。

4

1 に答える 1

1

セクションの問題/問題 で書いたようにシステムの再起動後に環境変数がアプリケーションによって正しく取得されるようにするには、次のものが必要です。

  • 2 回ログイン: login => logout => login
  • または、環境変数を取得する必要があるアプリケーションを手動で閉じて再度開く
  • または、「再ログイン時にウィンドウを再度開く」機能を使用しないでください。

これは、ロードされたサービスの明示的な順序付けを Apple が拒否したために発生するため、env 変数は「再オープン キュー」の処理と並行して登録されます。

于 2014-11-20T20:45:50.493 に答える