gleam/erlang/os

Access to the shell’s environment variables

Types

Represents operating system kernels

pub type OsFamily {
  WindowsNt
  Linux
  Darwin
  FreeBsd
  Other(String)
}

Constructors

  • WindowsNt
  • Linux
  • Darwin
  • FreeBsd
  • Other(String)

Functions

pub external fn family() -> OsFamily

Returns the kernel of the host operating system.

Unknown kernels are reported as Other(String); e.g. Other("sunos").

Examples

> family()
Linux
> family()
Darwin
> family()
Other("sunos")
pub external fn get_all_env() -> Map(String, String)

Returns the list of all available environment variables as a list of key, tuples.

Examples

> get_all_env()
map.from_list([
  #("SHELL", "/bin/bash"),
  #("PWD", "/home/j3rn"),
  ...
])
pub external fn get_env(name: String) -> Result(String, Nil)

Returns the value associated with the given environment variable name.

Examples

> get_env("SHELL")
"/bin/bash"

> get_env(name: "PWD")
"/home/j3rn"
pub external fn set_env(name: String, value: String) -> Nil

Associates the given value with the given environment variable name.

Examples

> set_env("MYVAR", "MYVALUE")
Nil
> get_env("MYVAR")
"MYVALUE"

> set_env(value: "MYVALUE", name: "MYVAR")
Nil
pub external fn unset_env(name: String) -> Nil

Removes the environment variable with the given name.

Returns Nil regardless of whether the variable ever existed.

Examples

> get_env("MYVAR")
Ok("MYVALUE")
> unset_env("MYVAR")
Nil
> get_env("MYVAR")
Error(Nil)

> unset_env(name: "MYVAR")
Nil
Search Document