Rev 5254 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{system}\title{Invoke a System Command}\usage{system(command, intern = FALSE, ignore.stderr = FALSE).PlatformPlatform()}\alias{system}\alias{.Platform}\alias{Platform}\alias{unix}\arguments{\item{command}{the system command to be invoked, as a string.}\item{intern}{a logical, indicates whether to make the output of thecommand an \R object.}\item{ignore.stderr}{a logical indicating whether error messages (writtento \file{stderr}) should be ignored. This probably only affectsUnix-like systems and is ignored otherwise.}}\description{\code{system} invokes the system command specified by \code{command}.\code{.Platform} is a list with functions and variables ascomponents. This provides a possibility to write OS portable \Rcode. However, this interface is still experimental.Currently, \code{.Platform <- Platform()} when R starts up. This iseven more experimental.}\details{If \code{intern} is \code{TRUE} then \code{popen} is used to invoke thecommand and the output collected, line by line, into an \R\code{\link{character}} vector which is returned as the value of\code{system}. If \code{intern}is \code{FALSE} then the C function \code{system} is used to invokethe command and the value returned by \code{system} is the exitstatus of this function. This function provides users withthe ability to invoke system commands on whatever platform theyare using.\code{unix} is a \emph{deprecated} alternative, available for somebackwards compatibility reasons.}\examples{# list all files in the current directory using the -F flag\dontrun{system("ls -F")}# t1 contains a vector of strings, each one# representing a separate line of output from whot1 <- system("who", TRUE)system("ls fizzlipuzzli",TRUE,TRUE)# empty since file doesn't existif(.Platform$ OS.type == "Unix") {system.test <- function(...) { system(paste("test", ...)) == 0 }dir.exists <- function(dir) sapply(dir, function(d)system.test("-d", d))dir.exists(c(R.home(), "/tmp", "~", "/NO"))# > T T T F}}\keyword{interface}\keyword{file}\keyword{utilities}