Invoke a System Command, using a Shell
shell runs the command specified by
cmd, usually under
a shell, because that is what the POSIX standards require.
shell(cmd, shell, flag = "/c", intern = FALSE, wait = TRUE, translate = FALSE, mustWork = FALSE, ...)
- the system command to be invoked, as a string.
- a string giving the name of the shell to be used, or
NULL(no shell). If missing, a suitable shell is chosen: see ‘Details’.
- the switch to run a command under the shell. If the shell
shthe default is changed to
- a logical, indicates whether to make the output of the command an R object.
- should the R interpreter wait for the command to finish?
The default is to wait, and the interpreter will always wait if
intern = TRUE.
TRUE, "/" in
cmdis translated to "\".
- a logical; if
TRUEfailure to run the command will give an R error, if
FALSEa warning and if
NA, no R message.
- additional arguments to
shell is specified, the environment variables
COMSPEC are tried in turn:
should always succeed. Using
shell = NULL invokes the command
cmd directly, in which case an extension of
assumed. It is possible to use batch files directly if their
extension is given: Windows (rather than R) then chooses a shell. See
system for fuller details:
shell is a more
user-friendly wrapper for
system. To make use of Windows
file associations, use
intern = TRUE, a character vector giving the output of the
command, one line per character string, or an error message if the
command could not be run. If
intern = FALSE, the return value is an error code, given the
invisible attribute (so needs to be printed explicitly). If the
command could not be run for any reason, the value is
an R warning is generated. Otherwise if
wait = FALSE the value
is the error code returned by the command, and if
wait = TRUE
it is the zero (the conventional success value), If
intern = FALSE and
wait = TRUE (the defaults) the text
output from a command that is a console application will appear in
the R console (
Rgui) or the window running R (
This function exists only on Windows: on all other platform
system uses a shell.