Saya ingin tahu apakah mungkin untuk menentukan variabel lingkungan di ProgramArguments
bagian skrip luanchd pada 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
opsi ke / bin / sh?Saya tidak berpikir launchd tahu tentang lingkungan secara native, setidaknya bukan sebagai pengganti $ {VARIABLE}.
Tidak ada yang menghentikan Anda dari meluncurkan skrip shell (atau shell dengan
-c
) sebagai tindakan launchd Anda, dan itu akan memiliki lingkungan dan menghargai $ {VARIABLES} - Waspadai perbedaan antara daemon / agen System dan Pengguna / agen dalam kasus itu meskipun...sumber
Saya tidak yakin - saya belum pernah mencobanya sebelumnya ... tetapi saya dapat memberitahu Anda bahwa jika satu-satunya variabel yang Anda pedulikan adalah rumah - Anda dapat menggunakan ~.
sumber
"/bin/sh: ~/bin/attach-devroot.sh: No such file or directory"
EnableGlobbing
flag disetel ke true. Lihat halaman manual launchd.plist .EnableGlobbing
tidak didukung lagi