在 OS X 中,我正在尝试创建一个由 自动调用的脚本launchctl
。
该脚本将调用随 一起安装的 ruby 应用程序(jabber-tee
和terminal-notifier
)gem
。
她是我的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