为什么我的 zsh 脚本可以独立运行,但在被 launchd 调用时却不能运行?

问题描述

我寻求帮助,在我的 imac 上使用 macOS Big Sur v11.4 设置定期作业。 我想要做的是每 60 秒使用 bash 或 zsh 脚本删除给定文件夹的所有内容。哪一个都无所谓。终端的认设置为 zsh。所以我用 zsh 试了一下。

我目前的方法是有两个文件一个删除文件内容的 zsh 脚本,对于“launchd”,我有一个 plist,它应该定期调用该脚本。

如果我在终端中调用 zsh 脚本,它可以正常工作并删除文件内容。 但是当它被launchd调用时,它返回“未找到匹配项”,我不知道问题出在哪里。

因此,如果有人可以帮助我,那就太好了。

/Library/launchdaemons/com.deleteGCODE.plist:

<?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>com.deleteGCODE.plist</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/deleteGCODE.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>60</integer>
    <key>StandardErrorPath</key>
        <string>/tmp/mycommand.err</string>
    <key>StandardOutPath</key>
        <string>/tmp/mycommand.out</string>
</dict>
</plist>

/usr/local/bin/deleteGCODE.sh:

#!/bin/zsh
dir="/Users/simon/Documents/Simplify3D/GCODE/"
rm -rf "$dir"*

/tmp/mycommand.out 的输出

/usr/local/bin/deleteGCODE.sh:3: no matches found: /Users/simon/Documents/Simplify3D/GCODE/*

附言 非常抱歉,我在错误的部分发布了我之前的消息。 希望这次是正确的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)