Sys.getenv {base} | R Documentation

## Get Environment Variables

### Description

`Sys.getenv` obtains the values of the environment variables.

### Usage

    Sys.getenv(x = NULL, unset = "", names = NA)

### Arguments

`x` | a character vector, or `NULL`.
`unset` | a character string.
`names` | logical: should the result be named? If `NA` (the default) single-element results are not named whereas multi-element results are.

### Details

Both arguments will be coerced to character if necessary.

Setting `unset = NA` will enable unset variables and those set to the value `""` to be distinguished, if the OS does. POSIX requires the OS to distinguish, and all known current R platforms do.

### Value

A vector of the same length as `x`, with (if `names == TRUE`) the variable names as its `names` attribute. Each element holds the value of the environment variable named by the corresponding component of `x` (or the value of `unset` if no environment variable with that name was found).

On most platforms `Sys.getenv()` will return a named vector giving the values of all the environment variables, sorted in the current locale. It may be confused by names containing `=` which some platforms allow but POSIX does not. (Windows is such a platform: there names including `=` are truncated just before the first `=`.)

Argument `names` was introduced in R 2.13.0 to avoid needing the common use of `as.vector(Sys.getenv())`.

### See Also

`Sys.setenv`, `Sys.getlocale` for the locale in use, `getwd` for the working directory.

The help for ‘environment variables’ lists many of the environment variables used by R.

### Examples

    ## whether HOST is set will be shell-dependent e.g. Solaris' csh does not.
    Sys.getenv(c("R_HOME", "R_PAPERSIZE", "R_PRINTCMD", "HOST"))

    names(s <- Sys.getenv()) # all settings (the values could be very long)

    ## Language and Locale settings -- but rather use Sys.getlocale()
    s[grep("^L(C|ANG)", names(s))]

[Package base version 2.15.1 Index]