system(command, intern = FALSE, ignore.stderr = FALSE) .Platform Platform()
command
| the system command to be invoked, as a string. |
intern
| a logical, indicates whether to make the output of the command an R object. |
ignore.stderr
| a logical indicating whether error messages (written to `stderr') should be ignored. This probably only affects Unix-like systems and is ignored otherwise. |
system invokes the system command specified by command.
.Platform is a list with functions and variables as
components. This provides a possibility to write OS portable R
code. However, this interface is still experimental.
Currently, .Platform <- Platform() when R starts up. This is
even more experimental.
intern is TRUE then popen is used to invoke the
command and the output collected, line by line, into an R
character vector which is returned as the value of
system. If intern
is FALSE then the C function system is used to invoke
the command and the value returned by system is the exit
status of this function. This function provides users with
the ability to invoke system commands on whatever platform they
are using.
unix is a deprecated alternative, available for some
backwards compatibility reasons.
# list all files in the current directory using the -F flag
system("ls -F")
# t1 contains a vector of strings, each one
# representing a separate line of output from who
t1 <- system("who", TRUE)
system("ls fizzlipuzzli",TRUE,TRUE)# empty since file doesn't exist
if(.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
}