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
is bash
or tcsh
or sh
the default is changed to
"-c"
.
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
.
If TRUE
, "/" in cmd
is
translated to "\".
a logical; if TRUE
failure to run the command
will give an R error, if FALSE
a warning and if NA
,
no R message.
additional arguments to system
.
If 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 -1
and
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 (Rterm
).
If no shell
is specified, the environment variables
R_SHELL
and COMSPEC
are tried in turn: COMSPEC
should always succeed. Using shell = NULL
invokes the command
cmd
directly, in which case an extension of .exe
is
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 shell.exec
.