一种实现方法是为脚本分配启动的服务:
照常创建外壳脚本。然后,您可以启动服务以在启动时运行它。那些位于/Library/LaunchDaemons
。这些格式为XML属性列表格式。创建另一个并使用以下内容填充它:
<?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>com.example.app</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>/path/to/script</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
更改com.example.app
,/bin/sh
并/path/to/script
根据需要。
该脚本将在系统引导时运行。如果运行得太早,则可以编写脚本尝试执行直到成功为止所需的操作,或者以非零错误代码退出脚本并将其添加到该</dict>
行之前的属性列表中:
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
有关OS X启动守护程序和服务的更多信息,我建议在此处查找有关制作它们的快速参考,或在此处查找有关启动功能的更全面参考。