Module Shexp_process__.Env

type t
module Working_dir_spec : sig ... end
val create : ?⁠stdin:Shexp_process__.Import.Unix.file_descr -> ?⁠stdout:Shexp_process__.Import.Unix.file_descr -> ?⁠stderr:Shexp_process__.Import.Unix.file_descr -> ?⁠cwd:Working_dir_spec.t -> ?⁠unix_env:(string * string) list -> unit -> t
val add_cwd_ref : t -> unit

Increment the reference of the working directory

val deref_cwd : t -> unit

Decrement the reference of the working directory

val find_executable : t -> string -> string option

Unix environment

val get_env : t -> string -> string option
val set_env : t -> string -> string -> t
val unset_env : t -> string -> t
val set_env_many : t -> (string * string) list -> t
val unset_env_many : t -> string list -> t
val cwd_logical : t -> string
val chdir : t -> string -> t
val stdin : t -> Shexp_process__.Import.Unix.file_descr
val stdout : t -> Shexp_process__.Import.Unix.file_descr
val stderr : t -> Shexp_process__.Import.Unix.file_descr
val set_stdin : t -> Shexp_process__.Import.Unix.file_descr -> t
val set_stdout : t -> Shexp_process__.Import.Unix.file_descr -> t
val set_stderr : t -> Shexp_process__.Import.Unix.file_descr -> t
val set_outputs : t -> Shexp_process__.Import.Unix.file_descr -> t
val set_stdios : t -> stdin:Shexp_process__.Import.Unix.file_descr -> stdout:Shexp_process__.Import.Unix.file_descr -> stderr:Shexp_process__.Import.Unix.file_descr -> t
val get_stdio : t -> Shexp_process.Std_io.t -> Shexp_process__.Import.Unix.file_descr
val set_stdio : t -> Shexp_process.Std_io.t -> Shexp_process__.Import.Unix.file_descr -> t
type run_error =
| Command_not_found
val spawn : t -> prog:string -> args:string list -> (int, run_error) Stdlib.result
val open_file : t -> ?⁠perm:Shexp_process__.Import.Posixat.File_perm.t -> flags:Shexp_process__.Import.Posixat.Open_flag.t list -> string -> Shexp_process__.Import.Unix.file_descr
val with_file : t -> ?⁠perm:Shexp_process__.Import.Posixat.File_perm.t -> flags:Shexp_process__.Import.Posixat.Open_flag.t list -> string -> f:(Shexp_process__.Import.Unix.file_descr -> 'a) -> 'a
val chmod : t -> string -> perm:int -> unit
val chown : t -> string -> uid:int -> gid:int -> unit
val mkdir : t -> ?⁠perm:int -> ?⁠p:bool -> string -> unit
val rm : t -> string -> unit
val rmdir : t -> string -> unit
val mkfifo : t -> ?⁠perm:int -> string -> unit
val rename : t -> string -> string -> unit
val stat : t -> string -> Shexp_process__.Import.Unix.stats
val lstat : t -> string -> Shexp_process__.Import.Unix.stats
val readdir : t -> string -> string list
val access : t -> string -> Shexp_process__.Import.Unix.access_permission list -> unit