我需要注意osx中的特定目录更改,以便查看文件是否已上传,当文件在dir中时我想运行一个非常基本的脚本(只需使用pdflatex'编译'.tex文件),到目前为止我做了什么:
1)启动监控我的目录,这是我的test.plist文件
<plist version="1.0">
<dict>
<key>Label</key>
<string>DirMonitor</string>
<key>ProgramArguments</key>
<array>
<string>/Users/Caffeina/Desktop/test.sh</string>
<string>path modified</string>
</array>
<key>QueueDirectories</key>
<array>
<string>/Users/Caffeina/Desktop/test_dir/</string>
</array>
</dict>
</plist>
2)test.sh:
#!/bin/sh
/usr/texbin/pdflatex -interaction=nonstopmode /Users/Caffeina/Desktop/test_dir/test.tex
3)启动显示器:
launchctl load /Users/Caffeina/Library/LaunchAgents/test.plist
4)测试一切是否正常工作我在受监视的目录中移动文件....但没有任何反应。查看控制台输出我可以重置此错误:
logger[4155] This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010)
logger[4155] restricted \write18 enabled.
logger[4155] entering extended mode
logger[4155] ! I can't write on file `test.log'.
logger[4155] (Press Enter to retry, or Control-D to exit; default file extension is `.log')
logger[4155] Please type another transcript file name
logger[4155] ! Emergency stop
logger[4155] ! ==> Fatal error occurred, no output PDF file produced!
com.apple.launchd.peruser.501[127] (logger[4155]) Exited with exit code: 1
我不明白为什么这个错误,任何想法?
答案 0 :(得分:2)
工作目录不正确。我猜工作目录是launchd所在的目录(您可以通过向shell脚本添加'pwd'命令来测试它)。您应该更改它,或者您可以修改pdflatex命令:
/usr/texbin/pdflatex -interaction=nonstopmode -output-directory=/tmp /Users/Caffeina/Desktop/test_dir/test.tex
我添加了-output-directory=/tmp
,我现在假设您具有对/ tmp的读写权限。如果这样做,问题在于写权限。然后你可以四处游戏以获得正确的输出目录。您可以通过launchd或shell脚本中的'cd myDir'来完成。
答案 1 :(得分:0)
似乎你没有权限在`test.log'文件上写。