В OS X я пытаюсь создать скрипт, автоматически launchctl .

Этот скрипт вызовет приложение ruby (jabber-tee и terminal-notifier), установленное вместе с gem .

Она мой скрипт на питоне.

#!/usr/bin/env python

import os

os.environ["PATH"] += os.pathsep + "/usr/local/bin"
os.environ["PATH"] += os.pathsep + "/Applications/Xcode.app/Contents/Developer/usr/bin"
os.environ["PATH"] += os.pathsep + "/opt/local/bin"
os.environ["PATH"] += os.pathsep + "/opt/local/sbin"
os.environ["PATH"] += os.pathsep + "/usr/bin"
os.environ["PATH"] += os.pathsep + "/bin"
os.environ["PATH"] += os.pathsep + "/usr/sbin"
os.environ["PATH"] += os.pathsep + "/sbin"

f = open("reminder.txt")

for line in f:
    tuple = line.split()
    text = tuple[0]
    target = tuple[1]

    os.system('echo  Do not forget me plz! "' + text + '" | /usr/bin/jabber-tee --to ' + target + '@jabber.8d.com')
    os.system('/usr/bin/terminal-notifier -message "Reminded ' + target + '" -title "Reminded"')%

Когда я выполняю скрипт, я получил следующую ошибку.

/usr/bin/jabber-tee:4:in `require': no such file to load -- jabber-tee/cli (LoadError)
    from /usr/bin/jabber-tee:4
/usr/bin/terminal-notifier:7:in `require': no such file to load -- terminal-notifier (LoadError)
    from /usr/bin/terminal-notifier:7

Похоже, оператор require больше не работает с launchctl .

Как я могу решить эту проблему?

1 ответ1

0

Похоже, вы не можете напрямую манипулировать переменной env с помощью скрипта, выполняемого lauchctl.

Я должен был вызвать следующую команду в терминале

launchctl setenv PATH $PATH

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .