Nim environment variables - read, set, delete, exists, and iterate examples?
This tutorial explains Environment variables in NIM.
How to read environment variable
The os module contains the getEnv procedure that returns the environment variable value for a given variable.
syntax: if the environment variable is not found, return the default value
proc getEnv(key: string; default = ""): string {.....}
import os
echo getEnv("HOME")
HOME is equivalent to $HOME in Linux(Unix) and %HOME% in Windows Another example
import os
echo getEnv("NIM_HOME","default")
It returns either value or default if not found.
use existsEnv to differentiate between actual and default value
proc existsEnv(key: string): bool {.....}
How to set environment variable in Nim
putEnv procedure to add environment variable with a value. OSError is thrown if an error occurs
proc putEnv(key, val: string) {.....}
Here is an example
import os
echo putEnv("production","true")
echo getEnv("production") # true
How to delete environment variable in Nim
delEnv procedure to delete a given environment variable and its value. OSError is thrown if an error occurred
proc delEnv(key: string) {.....}
Here is an example
import os
echo putEnv("production", "true")
echo getEnv("production") # true
echo delEnv("production")
echo getEnv("production") # false
How to check if an environment variable exists or not in Nim
existsEnv procedure to check given environment variable exists or not. OSError is thrown if an error occurred
proc existsEnv(key: string): bool {.....}
Here is an example
import os
echo putEnv("production","true")
echo getEnv("production") # true
echo delEnv("production")
echo getEnv("production","Does not exists") # Does not exists
How to iterate all Environment variables in Nim
The envPairs() procedure iterates each environment variable and returns a tuple. Tuple contains a key variable and its value. Syntax:
iterator envPairs(): tuple[key, value: string] {.....}
Here is an example
import os
for (key, value) in envPairs:
echo key , " = " ,value
