не удается загрузить сценарий с помощью команды launchctl "не найден"

у меня проблема с загрузкой скрипта для просмотра папки через fswatch в /Library / LaunchAgents
Скрипт отлично работает при запуске из терминала, но через мой plist он дает мне "команду не найдена" для fswatch в журнале.


Бьюсь об заклад, это связано с тем, где размещен скрипт / указаны пути или нет, но я не могу понять это. Вот это:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Debug</key>
    <true/>  
    <key>Label</key>
    <string>org.papers.fswatch</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/bin/papersfswatch.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>    
    <key>StandardErrorPath</key>
    <string>/Users/x/Documents/Computer/Logs/papersfswatch.log</string>
    <key>StandardOutPath</key>
    <string>/Users/x/Documents/Computer/Logs/papersfswatch.log</string>
</dict>
</plist>

когда я загружаю его с sudo launchctl load /Library/LaunchAgents/org.papers.fswatch.plist это дает мне Сервис работает только fo 0 секунд предупреждение
а в журнале I получить

    /usr/local/bin/papersfswatch.sh: line 2: fswatch: command not found 

строка 2-это, конечно, команда fswatch. Почему он не находит его, если он найден из терминала, и как я могу указать его на него.
Любая помощь очень ценится!

J

16
задан jan
18.01.2023 10:30 Количество просмотров материала 3542
Распечатать страницу

1 ответ

проблема решена.

похоже, скрипту нужен абсолютный путь к fswatch (по любой причине) при запуске через файл plist. В этом случае /usr/local/bin/fswatch Запуск из терминала fswatch - Это хорошо, но не в этом случае.

1
отвечен jan 2023-01-19 18:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх