Sys.setenv {base} | R Documentation |
Sys.setenv
sets environment variables (for other processes
called from within R or future calls to Sys.getenv
from
this R process).
Sys.unsetenv
removes environment variables.
Sys.setenv(...)
Sys.unsetenv(x)
... |
named arguments with values coercible to a character string. |
x |
a character vector, or an object coercible to character. |
Non-standard R names must be quoted in Sys.setenv
: see the
examples. Most platforms (and POSIX) do not allow names containing
"="
. Windows does, but the facilities provided by R may not
handle these correctly so they should be avoided. Most platforms
allow setting an environment variable to ""
, but Windows does
not and there Sys.setenv(FOO = "")
unsets FOO.
There may be system-specific limits on the maximum length of the values of individual environment variables or of names+values of all environment variables.
Recent versions of Windows have a maximum length of 32,767 characters for a
environment variable; however cmd.exe
has a limit of 8192
characters for a command line, hence set
can only set 8188.
A logical vector, with elements being true if (un)setting the
corresponding variable succeeded. (For Sys.unsetenv
this
includes attempting to remove a non-existent variable.)
On Unix-alikes, if Sys.unsetenv
is not supported, it will at
least try to set the value of the environment variable to ""
,
with a warning.
Sys.getenv
, Startup for ways to set environment
variables for the R session.
setwd
for the working directory.
Sys.setlocale
to set (and get) language locale variables,
and notably Sys.setLanguage
to set the LANGUAGE
environment variable which is used for conditionMessage
translations.
The help for ‘environment variables’ lists many of the environment variables used by R.
print(Sys.setenv(R_TEST = "testit", "A+C" = 123)) # `A+C` could also be used
Sys.getenv("R_TEST")
Sys.unsetenv("R_TEST") # on Unix-alike may warn and not succeed
Sys.getenv("R_TEST", unset = NA)