2021年8月4日水曜日

launchd で環境変数を設定する方法

launchd で環境変数を設定する方法

環境

ProgramArguments を使って環境変数を設定します メインプログラムの実行は Program で指定しましょう

環境

  • macOS 11.5

サンプル

ポイントは ProgramArguments の部分です ここで launchctl setenv を使って環境変数を設定することができます

実行するスクリプトやコマンドは Program キーで指定しましょう

ProgramArguments は Array ですがコマンド自体は一つしか実行できないので複数のコマンドを実行したい場合は諦めてシェルスクリプトを作成してそこで export などを使って環境変数を設定するようにしましょう

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>local.mac.testscript1</string>
    <key>Program</key>
    <string>/path/to/command</string>
    <key>WorkingDirectory</key>
    <string>/path/to/workdir</string>
    <key>ProgramArguments</key>
    <array>
      <string>sh</string>
      <string>-c</string>
      <string>
      launchctl setenv PATH /usr/local/bin:$PATH
      </string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
      <dict>
        <key>Weekday</key>
        <integer>1</integer>
	<key>Hour</key>
        <integer>8</integer>
        <key>Minute</key>
        <integer>5</integer>
      </dict>
    </array>
    <key>StandardOutPath</key>
    <string>/tmp/app.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/app.err</string>
  </dict>
</plist>

0 件のコメント:

コメントを投稿