Module OpamStd.Sys
Querying
type os
=
|
Darwin
|
Linux
|
FreeBSD
|
OpenBSD
|
NetBSD
|
DragonFly
|
Cygwin
|
Win32
|
Unix
|
Other of string
val os : unit -> os
Queried lazily
val uname : string -> string option
The output of the command "uname", with the given argument. Memoised.
val executable_name : string -> string
Append .exe (only if missing) to executable filenames on Windows
type shell
=
|
SH_sh
|
SH_bash
|
SH_zsh
|
SH_csh
|
SH_fish
The different families of shells we know about
val guess_shell_compat : unit -> shell
Guess the shell compat-mode
val guess_dot_profile : shell -> string
Guess the location of .profile
val split_path_variable : ?clean:bool -> string -> string list
Splits a PATH-like variable separated with
path_sep
. More involved than it seems, because there may be quoting on Windows. By default, it returns the path cleaned (remove trailing, leading, contiguous delimiters). Optional argumentclean
permits to keep those empty strings.
Exit handling
val at_exit : (unit -> unit) -> unit
Like Pervasives.at_exit but with the possibility to call manually (eg. before exec())
val exec_at_exit : unit -> unit
Calls the functions registered in at_exit. Unneeded if exiting normally
exception
Exec of string * string array * string array
Indicates intention to exec() the given command (paramters as per
Unix.execvpe
), after proper finalisations. It's the responsibility of the main function to catch this, callexec_at_exit
, andUnix.execvpe
.
type exit_reason
=[
]
val exit_codes : (exit_reason * int) list
val get_exit_code : exit_reason -> int
val exit_because : exit_reason -> 'a
Raises
Exit
, with the code associated to the exit reason