在 launchctl 脚本中使用 ruby​​ 应用程序

在 launchctl 脚本中使用 ruby​​ 应用程序

在 OS X 中,我正在尝试创建一个由 自动调用的脚本launchctl

该脚本将调用随 一起安装的 ruby​​ 应用程序(jabber-teeterminal-notifiergem

她是我的python脚本。

#!/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

看起来您不能使用 lauchctl 执行的脚本直接操作环境变量。

我必须在终端中调用以下命令

launchctl setenv PATH $PATH

相关内容