我编写了一个简短的shell脚本,将Evernote笔记的内容写入一个带有Geeknote的文件,该文件在python下运行:
#!/bin/bash
/usr/bin/python /Users/me/Git/geeknote/geeknote.py find --search "Hobbies To Do" > /dev/null
/usr/bin/python -u /Users/me/Git/geeknote/geeknote.py show "Hobbies To Do" | tee /Users/me/Programming/output.txt
当我从终端运行脚本时它运行正常(它将第二个python命令的输出写入output.txt),尽管理想情况下我希望脚本能够自己定期运行。所以我尝试创建一个.plist / LaunchAgent来运行脚本,但是当我这样做时,唯一写入output.txt的是Input stream is empty
...无法找出原因。现在我的.plist看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.me.geektoolcron</string>
<key>ProgramArguments</key>
<array>
<string>/Users/me/Programming/script.sh</string>
</array>
<key>StartInterval</key>
<integer>10</integer>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
答案 0 :(得分:0)
你可以尝试用echo a
替换第二个python命令或者用重定向替换tee。像这样的脚本对我有同样的plist:
#!/bin/bash
date | tee /tmp/f
launchd还支持将stdout定向到文件:
<key>StandardOutPath</key>
<string>/Users/me/Programming/output.txt</string>