在 Catalina 之前的macOS下,我有一个LaunchAgent,每天运行一个shell脚本。升级并切换到zsh后,它不工作。我检查过的事情:
- shebang切换到zsh
1.可以从命令行手动执行shell脚本 - sh在“系统偏好设置”〉“安全与隐私”下具有完全磁盘访问权限
- plist位于
~/Library/LaunchAgents
中并自动启动,因此可以使用chown
我添加了一个错误检查到我的plist:
<key>StandardOutPath</key>
<string>/path/to/file.out</string>
<key>StandardErrorPath</key>
<string>/path/to/file.err</string>
这样就得到file.err
zsh: can't open input file: /path/to/script.sh
file.out
为空。我的脚本具有权限-rwxr-xr-x
我错过了什么?
2条答案
按热度按时间ttcibm8c1#
根据TheDarkKnight的建议,我为zsh添加了完全磁盘访问权限-没有成功。解决方案是将shebang切换回/bin/bash,并为bash提供完全磁盘访问权限。脚本现在运行良好。
mwecs4sa2#
我在Monterey上遇到了与@quantixed相同的问题,但对我来说,像@TheDarkKnight建议的那样,将/bin/zsh拖到全磁盘访问列表中,使launchctl像它应该的那样运行脚本。