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, ...)NULL (no shell).  If missing, a suitable shell is chosen:
    see ‘Details’.bash or tcsh or sh the default is changed to
  "-c".intern = TRUE.TRUE, "/" in cmd is
    translated to "\".TRUE failure to run the command
    will give an R error, if FALSE a warning and if NA,
    no R message.system.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).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.system, shell.exec