module Shell:Shell scripting in OCaml.sig..end
This module contains basic blocks for shell scripting in OCaml. It tends to be
much safer than just using Unix.system because it handles errors much more
transparently.
WARNING: it's undergoing some serious changes internally, then next public release of
core should have the changes included
module Ansi:sig..end
module Process:sig..end
type'awith_process_flags =?timeout:Core.Std.Time.Span.t option ->
?working_dir:string -> ?verbose:bool -> ?echo:bool -> ?input:string -> 'a
timeout : the command will raise Failed_command if the program doesn't
do any IO for this period of timeworking_dir : run the command in this directoryverbose : prints the output of the commandecho : print out the command before running itinput : a string to pipe through the program's standard intype'awith_run_flags =(?expect:int list -> 'a) with_process_flags
with_process_flags.
expect : an int list of valid return codes. default value is [0], if
the return code of the dispatched is not in this list we will blowup with
Process.Failuretype'acmd =string -> string list -> 'a
val run : unit cmd with_run_flagsval run_lines : string list cmd with_run_flagsval run_one : string cmd with_run_flagsval run_full : string cmd with_run_flagstype('a, 'b)sh_cmd =('a, unit, string, 'b) Pervasives.format4 -> 'a
val sh : ('a, unit) sh_cmd with_run_flagsval sh_lines : ('a, string list) sh_cmd with_run_flagsval sh_one : ('a, string) sh_cmd with_run_flagsval sh_full : ('a, string) sh_cmd with_run_flagstype'awith_test_flags =(?true_v:int list -> ?false_v:int list -> 'a) with_process_flags
val test : bool cmd with_test_flagsval sh_test : ('a, bool) sh_cmd with_test_flagsval mkdir_p : ?perm:Core.Std.Unix.file_perm -> string -> unitval ls : string -> string listval quote : string -> stringval is_directory : ?unlink:bool -> string -> boolval is_file : ?unlink:bool -> string -> boolval file_kind : string -> Core.Std.Unix.file_kindval file_exists : string -> boolval copy_file : ?overwrite:bool ->
?perm:Core.Std.Unix.file_perm -> src:string -> dst:string -> unitval rm : string -> unitval cp : string -> string -> unitval whoami : ?real:bool -> unit -> stringval home : unit -> stringval get_group_names : unit -> string listval in_group : string -> boolval hostname : unit -> stringval which : string -> string optionval get_editor : unit -> string optionval mkdir_p : ?perm:Core.Std.Unix.file_perm -> string -> unitval ls : string -> string listval quote : string -> stringval (^/) : string -> string -> stringval ssh : user:string -> host:string -> string -> unitval scp : ?recurse:bool -> user:string -> host:string -> string -> string -> unitval echo : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'aval warnf : ('a, unit, string, unit) Pervasives.format4 -> 'aval email : string -> string Core.Std.List.container -> string -> string -> unit