Je suis curieux de savoir s'il est possible de spécifier une variable d'environnement dans la ProgramArguments
partie d'un script luanchd sur 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
option à / bin / sh?Je ne pense pas que launchd connaisse l'environnement nativement, du moins pas en tant que substitutions $ {VARIABLE}.
Rien ne vous empêche de lancer un script shell (ou un shell avec
-c
) comme action launchd, et cela aurait un environnement et respecterait $ {VARIABLES} - Soyez conscient de la différence entre les démons / agents système et utilisateur dans ce cas bien que...la source
Je ne suis pas sûr - je ne l'ai pas essayé auparavant ... mais je peux vous dire que si la seule variable qui vous intéresse est à la maison - vous pouvez utiliser ~.
la source
"/bin/sh: ~/bin/attach-devroot.sh: No such file or directory"
EnableGlobbing
indicateur est défini sur true. Voir la page de manuel launchd.plist .EnableGlobbing
n'est plus pris en charge