Process 如何在球拍中返回退出状态和系统命令的输出?

Process 如何在球拍中返回退出状态和系统命令的输出?,process,command,subprocess,racket,exit-code,Process,Command,Subprocess,Racket,Exit Code,我不仅希望捕获命令的输出,如 (with-output-to-string (lambda () (system "ls -la"))) 但是我也希望能够访问退出代码,这样我就不必解析输出来知道命令是否成功,并且可以对它做出相应的反应 我在球拍里怎么做 我找到了关于的文档,但我不知道如何提供像standard out这样的所有参数。我想看一个全面的例子,在这个例子中,如果命令成功,则使用输出;如果命令失败,则应该对退出代码有一些反应。Racket提供了一个过程,类似于系统,但返回退出代码,而不

我不仅希望捕获命令的输出,如

(with-output-to-string (lambda () (system "ls -la")))
但是我也希望能够访问退出代码,这样我就不必解析输出来知道命令是否成功,并且可以对它做出相应的反应

我在球拍里怎么做

我找到了关于的文档,但我不知道如何提供像standard out这样的所有参数。我想看一个全面的例子,在这个例子中,如果命令成功,则使用输出;如果命令失败,则应该对退出代码有一些反应。

Racket提供了一个过程,类似于
系统
,但返回退出代码,而不是布尔成功指示器。否则,它的行为与
系统
完全相同

也就是说,如果您只需要知道命令是否成功运行,而不需要实际的退出代码本身,那么实际上就足够了。正如文档所述,如果成功,则返回true,否则返回false

例如:

(with-output-to-string
  (lambda ()
    (unless (system "ls -la")
      ;; handle error here
      )))

这很有道理,它已经回答了我的问题。如果出现错误,我想打印命令的输出(并在成功时打印我自己选择的内容),我如何在
表单中获得输出,除非
表单?