Мне любопытно, можно ли указать переменную envrionment в ProgramArguments
части скрипта luanchd на Mac OS X Leopard.
<?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>me.mpietz.MountDevRoot</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>$HOME/bin/attach-devroot.sh</string>
<!-- Instead of using...
<string>/Users/mpietz/bin/attach-devroot.sh</string -->
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
-c
параметр в / bin / sh?Я не думаю, что launchd знает об окружающей среде изначально, по крайней мере, не как $ {VARIABLE} замены.
Однако ничто не мешает вам запускать сценарий оболочки (или оболочку с
-c
) в качестве действия launchd, и это будет иметь среду и уважать $ {VARIABLES} - в этом случае следует учитывать разницу между системными и пользовательскими демонами / агентами хотя...источник
Я не уверен - я не пробовал это раньше ... но я могу сказать вам, что если единственная переменная, которая вас волнует, это home - вы можете использовать ~.
источник
"/bin/sh: ~/bin/attach-devroot.sh: No such file or directory"
EnableGlobbing
флаг установлен в true. Смотрите справочную страницу launchd.plist .EnableGlobbing
больше не поддерживается