clojure.java.sh:没有这样的文件或目录

Koz*_*oss 1 shell clojure graphviz

我编写了一个程序来组装.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\"")))
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,第二部分失败,在REPL上给出以下错误消息:

IOException error=2, No such file or directory  java.lang.UNIXProcess.forkAndExec (UNIXProcess.java:-2)
Run Code Online (Sandbox Code Playgroud)

我查看了文档sh和示例,我无法理解为什么这不起作用.我错过了什么?

tha*_*guy 5

根据文档,sh使用execve语义:

(sh "dot" "-Tpng" "/.tree.dot" "-o" "/.tree.png")
Run Code Online (Sandbox Code Playgroud)