[Haskell] Capturing output from System.system

David House dmhouse at gmail.com
Tue Jan 16 17:34:30 EST 2007


Sorry Mads for multiple copies.

On 16/01/07, Mads Lindstrøm <mads_lindstroem at yahoo.dk> wrote:
> The function System.system (:: String -> IO ExitCode) makes the OS
> execute it first parameter as a command. It prints its output to
> standard output and standard error.
>
> How do I easily capture this output?

Try System.Process.runInteractiveCommand:

import System.Process
import System.IO

main = do
  (inH, outH, errH, _) <- runInteractiveCommand "wc -w"
  hPutStr inH "foo bar baz"
  ws <- hGetContents outH
  putStrLn ws

-- Prints 3

-- 
-David House, dmhouse at gmail.com


More information about the Haskell mailing list