Racket 球拍';s子进程找不到文件

Racket 球拍';s子进程找不到文件,racket,Racket,作为部署的一部分,我正在尝试从控制台运行Racket文件。其中一部分是使用pandoc编译文件。当我直接从控制台调用它时,我有一个命令可以工作,但当我从Racket内部调用它时,它不工作 成功命令: pandoc example.md -H pandoc.css 这给了我一个关于如何在HTML文件中包含标题的警告,但随后它向标准输出了一些HTML Racket代码进行三次调用,并为每次调用显示到stdout和stderr的输出。它有点笨重,所以代码将在底部。在这里,我将只列出它发出的调用和输出

作为部署的一部分,我正在尝试从控制台运行Racket文件。其中一部分是使用pandoc编译文件。当我直接从控制台调用它时,我有一个命令可以工作,但当我从Racket内部调用它时,它不工作

成功命令:

pandoc example.md -H pandoc.css
这给了我一个关于如何在HTML文件中包含标题的警告,但随后它向标准输出了一些HTML

Racket代码进行三次调用,并为每次调用显示到stdout和stderr的输出。它有点笨重,所以代码将在底部。在这里,我将只列出它发出的调用和输出

> /bin/ls ./
> /usr/bin/pandoc example.md
> /usr/bin/pandoc example.md -H pandoc.css
前两个的标准输出:

example.md
pandoc.css
pandoc.rkt

<h1 id="first-section">First Section</h1>
<p>This is an example markdown file.</p>
关于它为什么能找到
example.md
,但却找不到
pandoc.css
,有什么线索吗

以下是pandoc.rkt的完整代码。这是我第一次在球拍中使用端口,所以如果我做了一些可怕的事情,请随时告诉我

#lang racket

(define-values (ls out1 in1 err1)
  (subprocess #f #f #f "/bin/ls" "./"))
(subprocess-wait ls)
(define files (port->lines out1))
(define error (port->lines err1))
(display files) (display "\n")
(display error) (display "\n")

(close-input-port out1)
(close-output-port in1)
(close-input-port err1)

(define-values (pandoc out2 in2 err2)
  (subprocess #f #f #f "/usr/bin/pandoc" "example.md"))
(subprocess-wait pandoc)
(define html (port->lines out2))
(set! error (port->lines err2))
(display html) (display "\n")
(display error) (display "\n")

(close-input-port out2)
(close-output-port in2)
(close-input-port err2)

(set!-values (pandoc out2 in2 err2)
  (subprocess #f #f #f "/usr/bin/pandoc" "example.md -H pandoc.css"))
(subprocess-wait pandoc)
(set! html (port->lines out2))
(set! error (port->lines err2))
(display html) (display "\n")
(display error) (display "\n")

(close-input-port out2)
(close-output-port in2)
(close-input-port err2)

有几个参数:
example.md
-H
pandoc.css
。因此,你应该根据不同的标准将它们分开

也就是说,而不是:

(subprocess #f #f #f "/usr/bin/pandoc" "example.md -H pandoc.css")
使用:


请注意,对于其他几种语言(例如)的
子流程

有几个参数:
example.md
-H
pandoc.css
。因此,你应该根据不同的标准将它们分开

也就是说,而不是:

(subprocess #f #f #f "/usr/bin/pandoc" "example.md -H pandoc.css")
使用:


请注意,对于其他几种语言(例如)的
子流程

此外,我怀疑可以添加更多的标记。我不确定他们会是什么<代码>子流程
似乎太笼统了。而且,我怀疑还有更多的标签可以添加。我不确定他们会是什么<代码>子流程
似乎过于笼统。
(subprocess #f #f #f "/usr/bin/pandoc" "example.md" "-H" "pandoc.css")