incapaz de carregar script via launchctl “comando não encontrado”

2

Eu tenho um problema ao carregar um script para assistir a uma pasta via fswatch em / Library / LaunchAgents O script é executado bem quando executado a partir do terminal, mas através do meu plist, ele me dá "Comando não encontrado" por fswatch no log.
Aposto que tem a ver com onde o script é colocado / caminhos especificados ou não, mas eu não consigo descobrir. Aqui está:

<?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>

Quando eu carrego com sudo launchctl load /Library/LaunchAgents/org.papers.fswatch.plist , isso me dá um serviço que só correu fo 0 segundos de aviso e no log eu recebo

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

A linha 2 é, naturalmente, o comando fswatch. Por que não o encontra, se é encontrado no Terminal e como eu o indico. Qualquer ajuda muito apreciada!

J

    
por jan 23.02.2016 / 00:58

1 resposta

1

Problema resolvido.

Parece que o script precisa do caminho absoluto para fswatch (por qualquer motivo) quando executado por meio de um plist. Nesse caso, /usr/local/bin/fswatch Correndo do Terminal fswatch vai fazer bem, mas não neste caso.

    
por 23.02.2016 / 02:38