我一直在尝试创建一个 LaunchDaemon 或 LaunchAgent(在 Catalina 中)来运行 bash 脚本,但没有成功。当我使用launchctl加载plist并且它从不执行shell脚本时,控制台只记录“服务退出并出现异常代码:1”。如果我手动运行 shell 脚本,则会按预期执行。
列表:
<?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>foobar.unhide-docx</string>
<key>Program</key>
<string>/Users/me/Library/Application Support/FooBar/unhide-docx.sh</string>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>10</integer>
</dict>
</plist>
外壳脚本:
#!/bin/bash
find /Users/me/Desktop/test -name '*.docx' -exec chflags nohidden {} \;
理想情况下,我会直接在 LaunchAgent 或 LaunchDaemon 中运行 find 命令,而不必使用单独的 shell 脚本,但我也尝试过,但它以同样的方式失败。