Module B0_std.Os.Env

module Env: sig .. end
Environment variables.


val find : empty_to_none:bool -> string -> string option
find ~empty_to_none name is the value of the environment variable name in the current process environment, if defined. If empty_to_none is true (default), None is returned if the variable value is the empty string.
val find_value : (string -> ('a, string) Pervasives.result) ->
empty_to_none:bool -> string -> ('a, string) Pervasives.result option
find_value parse ~empty_to_none name is Option.bind parse (find ~empty_to_none name), except the error message of parse is tweaked to mention name in case of error.

Process environement

type t = string B0_std.String.Map.t 
The type for process environments.
val empty : t
empty is String.Map.empty.
val override : t -> by:t -> t
override env ~by:o overrides the definitions in env by o.
val current : unit -> (t, string) Pervasives.result
current () is the current process environment.

Process environments as assignments

type assignments = string list 
The type for environments as lists of strings of the form "var=value".
val current_assignments : unit -> (assignments, string) Pervasives.result
current_assignments () is the current process environment as assignments.
val of_assignments : ?init:t ->
string list -> (t, string) Pervasives.result
of_assignments ~init ss folds over strings in ss, cuts them at the leftmost '=' character and adds the resulting pair to init (defaults to B0_std.Os.Env.empty). If the same variable is bound more than once, the last one takes over.
val to_assignments : t -> assignments
to_assignments env is env's bindings as assignments.