Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #205 Get an environment variable

Read an environment variable with the name "FOO" and assign it to the string variable foo. If it does not exist or if the system does not support environment variables, assign a value of "none".

(def foo
  (or (System/getenv "FOO") "none"))
with Ada.Environment_Variables;
Foo : constant String :=
      Ada.Environment_Variables.Value (Name    => "FOO",
                                       Default => "none");
#include <stdlib.h>
const char * foo = getenv("FOO");
if (foo == NULL) foo = "none";
#include <cstdlib>
#include <string>
const char* tmp = std::getenv("FOO");
std::string foo = tmp ? std::string(tmp) : "none";
string foo = Environment.GetEnvironmentVariable("FOO");
if (string.IsNullOrEmpty(foo)) foo = "none";
import std.process : environment;
string foo = environment.get("FOO", "none");
import 'dart:io';
var foo = Platform.environment["FOO"] ?? "none";
foo = System.get_env("FOO", "none")
Foo = os:getenv("FOO","none").
  call get_environment_variable ("FOO", length=n, status=st)
  if (st /= 0) then
    foo = "none"
  else
    allocate (character(len=n) :: foo)
    call get_environment_variable ("FOO", value=foo)
  end if 
import "os"
foo := os.Getenv("FOO")
if foo == "" {
	foo = "none"
}
import "os"
foo, ok := os.LookupEnv("FOO")
if !ok {
	foo = "none"
}
def foo = System.getenv('FOO') ?: 'none'
import Control.Exception (IOException, catch)
import System.Environment (getEnv)
do
  foo <- catch (getEnv "FOO") (const $ pure "none" :: IOException -> IO String)
  -- do something with foo
const foo = process.env.FOO ?? 'none'
const foo = process.env["FOO"] || "none";
String foo = System.getenv("foo");
if (foo == null) {
	foo = "none";
}
val foo = System.getenv("FOO") ?: "none"
foo = os.getenv("FOO") or "none"
$foo = getenv("FOO") ?: "none";
uses sysutils;
var
  foo: string;
begin
  foo := GetEnvironmentVariable('FOO');
  if (foo = '') then foo := 'none';
end.
use 5.010;
my $foo = $ENV{FOO} // 'none';
from os import getenv
foo = getenv('FOO', 'none')
import os
foo = os.environ.get('FOO', 'none')
import os
try:
    foo = os.environ['FOO']
except KeyError:
    foo = "none"
foo = ENV["FOO"]
use std::env;
let foo = env::var("FOO").unwrap_or("none".to_string());
use std::env;
if let Ok(tnt_root) = env::var("TNT_ROOT") {
     //
}
use std::env;
let foo = match env::var("FOO") {
    Ok(val) => val,
    Err(_e) => "none".to_string(),
};
use std::env;
let foo = match env::var("FOO") {
    Ok(val) => val,
    Err(_e) => "none".to_string(),
};
val foo = sys.env.getOrElse("FOO", "none")
| foo |
foo := CEnvironment getUserEnvironment at: 'FOO' ifAbsent: [ 'none' ].
foo = IIf(Environ("FOO") = "", "none", Environ("FOO"))
imports System
Dim _foo as String
Try
	foo = Environment.GetEnvironmentVariable("FOO")
Catch ex as Exception
	foo = "none"
End Try

New implementation...
< >
tkoenig