Rev 82145 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/Sys.setenv.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2022 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 processescalled from within \R or future calls to \code{\link{Sys.getenv}} fromthis \R process).\code{Sys.unsetenv} removes environment variables.}\value{A logical vector, with elements being true if (un)setting thecorresponding variable succeeded. (For \code{Sys.unsetenv} thisincludes attempting to remove a non-existent variable.)}\details{Non-standard \R names must be quoted in \code{Sys.setenv}: see theexamples. Most platforms (and POSIX) do not allow names containing\code{"="}. Windows does, but the facilities provided by \R may nothandle these correctly so they should be avoided. Most platformsallow setting an environment variable to \code{""}, but Windows doesnot and there \code{Sys.setenv(FOO = "")} unsets \env{FOO}.There may be system-specific limits on the maximum length of thevalues of individual environment variables or of names+values of allenvironment variables.% https://docs.microsoft.com/en-gb/windows/win32/procthread/environment-variables?redirectedfrom=MSDN (says since Vista there is no limit on the block)Recent versions of Windows have a maximum length of 32,767 characters for aenvironment variable; however \code{cmd.exe} has a limit of 8192characters for a command line, hence \command{set} can only set 8188.% http://support.microsoft.com/kb/830473}\note{On Unix-alikes, if \code{Sys.unsetenv} is not supported, it will atleast try to set the value of the environment variable to \code{""},with a warning.}\seealso{\code{\link{Sys.getenv}}, \link{Startup} for ways to set environmentvariables for the \R session.\code{\link{setwd}} for the working directory.\code{\link{Sys.setlocale}} to set (and get) language locale variables,and notably \code{\link{Sys.setLanguage}} to set the \env{LANGUAGE}environment variable which is used for \code{\link{conditionMessage}}translations.The help for \sQuote{\link{environment variables}} lists many of theenvironment variables used by \R.}\examples{print(Sys.setenv(R_TEST = "testit", "A+C" = 123)) # `A+C` could also be usedSys.getenv("R_TEST")Sys.unsetenv("R_TEST") # on Unix-alike may warn and not succeedSys.getenv("R_TEST", unset = NA)}\keyword{environment}\keyword{utilities}