5
我可以用球拍与(system "some command")
发出bash命令,但该函数返回#t而不是命令行输出的结果,它只打印。如何获得命令的返回结果?如何在球拍中返回命令行结果?
我可以用球拍与(system "some command")
发出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"