我可以用 (system "some command")
用 Racket 发出 bash 命令,但该函数返回 #t 而不是来自命令行的结果输出,它只打印。如何获得与函数一起返回的命令的结果?
最佳答案
system
程序集stdout
到参数值 current-output-port
.这意味着我们可以收集写入 current-output-port
的所有内容。到一个字符串并返回。构造 with-output-to-string
套current-output-port
到不打印任何内容的端口,但最终将写入端口的任何内容作为字符串返回。
> (with-output-to-string (lambda () (system "date")))
"Sat Jun 25 12:20:12 CEST 2016\n"
关于command-line - 如何在 Racket 中返回命令行结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38026538/