Module B0_std.Os.Env

module Env: sig .. end

Environment variables.


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) Stdlib.result) ->
empty_to_none:bool -> string -> ('a, string) Stdlib.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) Stdlib.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) Stdlib.result

current_assignments () is the current process environment as assignments.

val of_assignments : ?init:t ->
string list -> (t, string) Stdlib.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.