diff options
author | Peter Lemenkov <[email protected]> | 2014-11-08 15:11:04 +0300 |
---|---|---|
committer | Peter Lemenkov <[email protected]> | 2014-12-15 21:05:05 +0300 |
commit | 5cbad390e971ff92a7fb1b71757041ff9edeb81a (patch) | |
tree | 5ea8891717e8d41ef64a351973e3a27608de50a2 | |
parent | af87b1c3d4897840d8247589a88d3611106ecedc (diff) | |
download | otp-5cbad390e971ff92a7fb1b71757041ff9edeb81a.tar.gz otp-5cbad390e971ff92a7fb1b71757041ff9edeb81a.tar.bz2 otp-5cbad390e971ff92a7fb1b71757041ff9edeb81a.zip |
Introduce os:getenv/2
Signed-off-by: Peter Lemenkov <[email protected]>
-rw-r--r-- | lib/kernel/doc/src/os.xml | 13 | ||||
-rw-r--r-- | lib/kernel/src/os.erl | 15 |
2 files changed, 27 insertions, 1 deletions
diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml index 2b57e75023..8b85f24455 100644 --- a/lib/kernel/doc/src/os.xml +++ b/lib/kernel/doc/src/os.xml @@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform</code> </desc> </func> <func> + <name name="getenv" arity="2"/> + <fsummary>Get the value of an environment variable</fsummary> + <desc> + <p>Returns the <c><anno>Value</anno></c> of the environment variable + <c><anno>VarName</anno></c>, or <c>DefaultValue</c> if the environment variable + is undefined.</p> + <p>If Unicode file name encoding is in effect (see the <seealso + marker="erts:erl#file_name_encoding">erl manual + page</seealso>), the strings (both <c><anno>VarName</anno></c> and + <c><anno>Value</anno></c>) may contain characters with codepoints > 255.</p> + </desc> + </func> + <func> <name name="getpid" arity="0"/> <fsummary>Return the process identifier of the emulator process</fsummary> <desc> diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl index 187fd0001b..8aaf13b3fd 100644 --- a/lib/kernel/src/os.erl +++ b/lib/kernel/src/os.erl @@ -26,7 +26,7 @@ %%% BIFs --export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]). +-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]). -spec getenv() -> [string()]. @@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef). getenv(_) -> erlang:nif_error(undef). +-spec getenv(VarName, DefaultValue) -> Value when + VarName :: string(), + DefaultValue :: string(), + Value :: string(). + +getenv(VarName, DefaultValue) -> + case os:getenv(VarName) of + false -> + DefaultValue; + Value -> + Value + end. + -spec getpid() -> Value when Value :: string(). |