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"