我试图在Mac OS X上使用launchctl在登录时运行一个简单的脚本。
当我运行launchctl start com.user.loginscript
时,我收到错误" launchctl启动错误:没有这样的过程"。检查launchctl list
会显示错误代码' 1'如果我尝试加载和利用plist文件。
我的plist文件如下......
`
<!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.user.loginscript</string>
<key>Program</key>
<string>~/Movies/test.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
`
有什么可能出错的建议吗?
编辑:愚蠢的test.sh如下......
#!/bin/bash
say "Hello Myles"
答案 0 :(得分:3)
你需要使用脚本的完整路径 - ~
是一个shell速记,由于launchd没有通过shell传递程序名,它实际上是在找一个名为“〜”的文件夹“而不是你的主文件夹。