我认为我的意思是在标题中。我试图搜索是否有可能从ocaml运行bash脚本,如从java或从PHP,但我找不到。 我知道我们可以使用ocaml作为脚本语言,但它不是我想要的 Ocaml as a scripting language 换句话说
答案 0 :(得分:5)
我认为你要找的是Sys
模块(http://caml.inria.fr/pub/docs/manual-ocaml/libref/Sys.html)。
Sys.command
可能是您做任何事情的一种方式。
如果这还不够,那么您可能需要查看Unix
提供的内容(http://caml.inria.fr/pub/docs/manual-ocaml/libref/Unix.html)。
答案 1 :(得分:5)
来自Ocaml文档:
val command : string -> int
因此,如果您想从Ocaml调用脚本,请执行以下操作:
let status = Sys.command "./myexecutable.sh" in
Printf.printf "status = %d\n" status
使用退出代码随意做你想做的事。
答案 2 :(得分:4)
如果您有兴趣收集bash脚本的输出,
let () =
(* Just using pstree as an example, you can pick something else *)
let ic = Unix.open_process_in "pstree" in
let all_input = ref [] in
try
while true do
all_input := input_line oc :: !all_input
done
with
End_of_file ->
(* Just an example, you can do something else here *)
close_in ic;
List.iter print_endline !all_input