невозможно загрузить скрипт через launchctl "команда не найдена"

2264
jan

У меня проблема с загрузкой скрипта для просмотра папки через 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он выдает мне Сервис только за 0 секунд и в журнале я получаю предупреждение

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

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

J

2

1 ответ на вопрос

1
jan

Задача решена.

Кажется, сценарию нужен абсолютный путь fswatch(по любой причине) при запуске через plist. В этом случае /usr/local/bin/fswatch Запуск из Терминала fswatchбудет работать нормально, но не в этом случае.

Похожие вопросы