从ocaml运行bash脚本

时间:2015-06-01 11:40:40

标签: ocaml

我认为我的意思是在标题中。我试图搜索是否有可能从ocaml运行bash脚本,如从java或从PHP,但我找不到。 我知道我们可以使用ocaml作为脚本语言,但它不是我想要的 Ocaml as a scripting language 换句话说

3 个答案:

答案 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