system                 package:base                 R Documentation

Invoke a System Command

Description:

     'system' invokes the OS command specified by 'command'.

Usage:

     system(command, intern = FALSE, ignore.stderr = FALSE)

Arguments:

 command: the system command to be invoked, as a string.

  intern: a logical (not 'NA') which indicates whether to  make the
          output of the command an R object.  Not available unless
          'popen' is supported on the platform.

ignore.stderr: a logical indicating whether error messages (written to
          'stderr') should be ignored.

Details:

     If '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'.  Output lines
     of more than 8095 characters will be split.

     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.

     Error messages written to 'stderr' will be sent by the shell to
     the terminal unless 'ignore.stderr = TRUE'.  They can be captured
     (in the most likely shells) by


         system("some command 2>&1", intern=TRUE)

     'unix' is a _deprecated_ alternative, available for backwards
     compatibility.

Value:

     If 'intern = TRUE', a character vector giving the output of the
     command, one line per character string.  If the command could not
     be run or gives an error this will be reported on the shell's
     'stderr' (unless 'popen' is not supported, when there is an R
     error).  (Output lines of more than 8095 characters will be
     split.)

     If 'intern = FALSE', the return value is a system error code ('0'
     for success).

See Also:

     '.Platform' for platform specific variables.

Examples:

     # list all files in the current directory using the -F flag
     ## Not run: system("ls -F")

     # t1 is a character vector, each one
     # representing a separate line of output from who
     # (if the platform has popen and who)
     t1 <- try(system("who", TRUE))

     try(system("ls fizzlipuzzli", TRUE, TRUE))
     # empty since file doesn't exist

