我编写了一个程序来汇编 .dot 文件,并想使用 Clojure 的sh
给出编译命令。具体来说,我使用以下函数来做到这一点:
(defn compile-graphviz
"Dumps graphviz-string to a file, then compiles it using dot."
[graphviz-string]
(do
(spit "./tree.dot" graphviz-string)
(sh "dot -Tpng \"/.tree.dot\" -o\"/.tree.png\"")))
但是,当我运行此命令时,第二部分失败,在 REPL 中给出以下错误消息:
IOException error=2, No such file or directory java.lang.UNIXProcess.forkAndExec (UNIXProcess.java:-2)
我查看了文档sh
和例子,我不明白为什么这行不通。我缺少什么?
根据文档, sh
使用 execve 语义:
(sh "dot" "-Tpng" "/.tree.dot" "-o" "/.tree.png")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)