\Header{system}{Invoke a System Command}
\alias{unix}{system}
\keyword{interface}{system}
\keyword{file}{system}
\keyword{utilities}{system}
\begin{Description}\relax
\code{system} invokes the system command specified by \code{command}.\end{Description}
\begin{Usage}
\begin{verbatim}
system(command, intern = FALSE, ignore.stderr = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{command}] the system command to be invoked, as a string.
\item[\code{intern}] a logical, indicates whether to make the output of the
command an \R{} object.
\item[\code{ignore.stderr}] a logical indicating whether error messages (written
to \file{stderr}) should be ignored.  This probably only affects
Unix-like systems and is ignored otherwise.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If \code{intern} is \code{TRUE} then \code{popen} is used to invoke the
command and the output collected, line by line, into an \R{}
\code{\Link{character}} vector which is returned as the value of
\code{system}.  If \code{intern}
is \code{FALSE} then the C function \code{system} is used to invoke
the command and the value returned by \code{system} is the exit
status of this function.  This function provides users with
the ability to invoke system commands on whatever platform they
are using.

\code{unix} is a \emph{deprecated} alternative, available for
backwards compatibility.\end{Details}
\begin{SeeAlso}\relax
\code{\Link{.Platform}} for platform specific variables.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# list all files in the current directory using the -F flag
system("ls -F")

# t1 contains a vector of strings, each one
# representing a separate line of output from who
t1 <- system("who", TRUE)

system("ls fizzlipuzzli",TRUE,TRUE)# empty since file doesn't exist
\end{ExampleCode}
\end{Examples}

