标准ML提供功能
val system : string -> status
OS.Process
中的,它通过shell调用参数。
由于引用复杂性,安全性问题等原因,如果不需要其功能,通常会避免使用shell。因此大多数语言也提供直接执行功能。
我在标准ML中找不到类似的东西。我希望它有一个类似于
的类型val system : string -> string list -> status
如何通过系统shell调用某些内容?
答案 0 :(得分:3)
如果您的应用程序在某些Unix风格上运行,您可以使用由SML / NJ(至少)实现的可选Unix
structure:
val proc : (TextIO.instream, TextIO.outstream) Unix.proc =
Unix.execute ("/bin/ls", ["-l"]);
val inStream = Unix.textInstreamOf proc;
val output = TextIO.inputAll inStream;
TextIO.closeIn inStream;
Unix.reap proc;
print output;