| Haskell Hierarchical Libraries (base package) | Contents | Index

System.Cmd

Portability | portable
Stability | provisional
Maintainer | libraries@haskell.org

Description
Executing an external command.
Synopsis

system :: String -> IO ExitCode
rawSystem :: String -> [String] -> IO ExitCode

Documentation
system :: String -> IO ExitCode

Computation `system cmd` returns the exit code produced when the operating system processes the 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` is implemented using Windows's native system call, which ignores the `SHELL` environment variable, and always passes the command to the Windows command interpreter (`CMD.EXE` or `COMMAND.COM`), hence Unixy shell tricks will not work.

rawSystem :: String -> [String] -> IO ExitCode
The computation ``rawSystem` cmd args` runs the operating system command `cmd` 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`.
Produced by Haddock version 0.7