Попытка запустить скрипт при запуске OSX - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь выполнить sh запуск сценария при запуске в 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.

Я, должно быть, упускаю что-то простое, я уверен, любая помощь будет оценена!

...