【问题标题】:LaunchAgent doesn't run shell scriptLaunchAgent 不运行 shell 脚本
【发布时间】:2020-06-05 00:18:59
【问题描述】:

在 Catalina 之前的 macOS 下,我有一个 LaunchAgent,它每天运行一个 shell 脚本。升级并切换到 zsh 后它不起作用。我检查过的东西:

  1. shebang 切换到 zsh
  2. shell 脚本可以从命令行手动执行
  3. sh 在“系统偏好设置”>“安全与隐私”下拥有完整的磁盘访问权限
  4. 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


【解决方案1】:

根据 TheDarkKnight 的建议,我为 zsh 添加了完整的磁盘访问权限 - 没有成功。解决方案是将 shebang 切换回 /bin/bash 并授予对 bash 的全盘访问权限。脚本现在运行良好。

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    相关资源
    最近更新 更多