0

我正在尝试在 OSX 上完成启动时运行脚本。我尝试在网上的各种文章和问题之后创建一个 plist 文件,一些来自这里,一些来自媒体和其他地方。但我似乎无法做到正确。我希望脚本在计算机启动时运行,无论哪个用户登录。该脚本是一个简单的 bash 脚本,它检查 S3 存储桶中是否存在对象,如果该对象存在,它会继续运行,然后显然运行脚本的其余部分(在本例中为清理脚本)。

这是我的 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.$
<plist version="1.0">
<dict>
    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:</string>
    </dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.cleanup</string>
    <key>Program</key>
    <string>/bin/zsh</string>
    <key>ProgramArguments</key>
    <string>/Users/mlove/Documents/gitpersonal/ejector-seat/cleanup</string>
    <key>RunAtLoad</key>
    <true/>
    <key>StandardErrorPath</key>
    <string>/tmp/startup.stderr</string>
    <key>StandardOutPath</key>
    <string>/tmp/startup.stdout</string>
    <key>UserName</key>
    <string>mlove</string>
</dict>
</plist>

这是我要调用的脚本:

#!/bin/zsh
aws s3api wait object-exists --bucket ejector-seat --key button-pressed  --profile parachute
rm -rf /Users/${USER}/Desktop/test/*

编辑:我错过了包含以下内容的错误日志: /bin/zsh: can't open input file: /Users/mlove/Documents/gitpersonal/ejector-seat/cleanup

我尝试制作脚本 777 只是为了测试但仍然出现错误,如果我通过简单地手动运行脚本./cleanup运行良好,所以我知道脚本本身没问题,所以我认为这与方式有关我在 plist 文件中调用它。

我肯定错过了一些简单的东西,任何帮助将不胜感激!

4

0 回答 0