Portability | portable |
---|---|
Stability | provisional |
Maintainer | libraries@haskell.org |
Executing an external command.
This module provides a simple interface for executing external commands. For a more complex, but more powerful, interface, see the System.Process module.
Documentation
system :: String -> IO ExitCodeSource
Computation system cmd
returns the exit code produced when the
operating system runs the shell command cmd
.
This computation may fail with
-
PermissionDenied
: The process has insufficient privileges to perform the operation. -
ResourceExhausted
: Insufficient resources are available to perform the operation. -
UnsupportedOperation
: The implementation does not support system calls.
On Windows, system
passes the command to the Windows command
interpreter (CMD.EXE
or COMMAND.COM
), hence Unixy shell tricks
will not work.
rawSystem :: String -> [String] -> IO ExitCodeSource
The computation
runs the operating system command
rawSystem
cmd argscmd
in such a way that it receives as arguments the args
strings
exactly as given, with no funny escaping or shell meta-syntax expansion.
It will therefore behave more portably between operating systems than system
.
The return codes and possible failures are the same as for system
.