【发布时间】:2020-06-05 00:18:59
【问题描述】:
在 Catalina 之前的 macOS 下,我有一个 LaunchAgent,它每天运行一个 shell 脚本。升级并切换到 zsh 后它不起作用。我检查过的东西:
- shebang 切换到 zsh
- 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
我错过了什么?
【问题讨论】:
-
您是否尝试过将 zsh 添加到全盘访问,或者假设您的脚本符合 sh,或者在 shebang 中使用 /bin/sh?即使在 macOS 中更改了默认 shell,但 bash 仍然可用,目前可以使用。
标签: macos shell zsh launch-agent