| % File src/library/base/man/Sys.setenv.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2011 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{Sys.setenv} |
| \alias{Sys.setenv} |
| \alias{Sys.unsetenv} |
| \title{Set or Unset Environment Variables} |
| \usage{ |
| Sys.setenv(\dots) |
| |
| Sys.unsetenv(x) |
| } |
| \arguments{ |
| \item{\dots}{named arguments with values coercible to a character string.} |
| \item{x}{a character vector, or an object coercible to character.} |
| } |
| \description{ |
| \code{Sys.setenv} sets environment variables (for other processes |
| called from within \R or future calls to \code{\link{Sys.getenv}} from |
| this \R process). |
| |
| \code{Sys.unsetenv} removes environment variables. |
| } |
| \value{ |
| A logical vector, with elements being true if (un)setting the |
| corresponding variable succeeded. (For \code{Sys.unsetenv} this |
| includes attempting to remove a non-existent variable.) |
| } |
| \details{ |
| Non-standard \R names must be quoted in \code{Sys.setenv}: see the |
| examples. Most platforms (and POSIX) do not allow names containing |
| \code{"="}. 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 \code{""}, but Windows does |
| not, and there \code{Sys.setenv(FOO = "")} unsets \env{FOO}. |
| |
| There may be system-specific limits on the maximum length of the values |
| of individual environment variables or of all environment variables. |
| #ifdef windows |
| Windows has a limit of 32,767 characters on the environment block, and |
| \code{cmd.exe} has a limit of 2047 (Windows 2000) or 8192 characters |
| (XP and later) for each value. |
| #endif |
| } |
| % http://support.microsoft.com/kb/830473 |
| |
| #ifdef unix |
| \note{ |
| If \code{Sys.unsetenv} is not supported, it will at least try to |
| set the value of the environment variable to \code{""}, with a |
| warning. |
| } |
| #endif |
| \seealso{ |
| \code{\link{Sys.getenv}}, \link{Startup} for ways to set environment |
| variables for the \R session. |
| |
| \code{\link{setwd}} for the working directory. |
| |
| |
| The help for \sQuote{\link{environment variables}} lists many of the |
| environment variables used by \R. |
| } |
| \examples{ |
| print(Sys.setenv(R_TEST = "testit", "A+C" = 123)) # `A+C` could also be used |
| Sys.getenv("R_TEST") |
| #ifdef windows |
| Sys.unsetenv("R_TEST") |
| #endif |
| #ifdef unix |
| Sys.unsetenv("R_TEST") # may warn and not succeed |
| #endif |
| Sys.getenv("R_TEST", unset = NA) |
| } |
| \keyword{environment} |
| \keyword{utilities} |