system {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

[Package base version 2.4.0 Index]