system2invokes the OS command specified by
system2(command, args = character(), stdout = "", stderr = "", stdin = "", input = NULL, env = character(), wait = TRUE, minimized = FALSE, invisible = TRUE)
stderrshould be sent. Possible values are
"", to the R console (the default),
TRUE(capture the output in a character vector) or a character string naming a file.
""means the default, alternatively a character string naming a file. Ignored if
commandis redirected to the file.
NA) indicating whether the R interpreter should wait for the command to finish, or run it asynchronously. This will be ignored (and the interpreter will always wait) if
stdout = TRUE.
NA), indicates whether the command window should be displayed initially as a minimized window.
NA), indicates whether the command window should be visible on the screen.
stdout = TRUEor
stderr = TRUE, a character vector giving the output of the command, one line per character string. (Output lines of more than 8095 bytes will be split.) If the command could not be run an R error is generated. If
commandruns but gives a non-zero exit status this will be reported with a warning and in the attribute
"status"of the result: an attribute
"errmsg"may also be available. In other cases, the return value is an error code (
0for success), given the invisible attribute (so needs to be printed explicitly). If the command could not be run for any reason, the value is
127. Otherwise if
wait = TRUEthe value is the exit status returned by the command, and if
wait = FALSEit is
0(the conventional success value). Some Windows commands return out-of-range status values (e.g.,
-1) and so only the bottom 16 bits of the value are used.
commandis always quoted by
shQuote, so it must be a single command without arguments. For details of how
commandis found see
system. On Windows,
envis only supported for commands such as
makewhich accept environment variables on their command line. Some Unix commands (such as some implementations of
ls) change their output if they consider it to be piped or redirected:
stdout = TRUEuses a pipe whereas
stdout = "some_file_name"uses redirection. Because of the way it is implemented, on a Unix-alike
stderr = TRUEimplies
stdout = TRUE: a warning is given if this is not what was specified.