Description
Simple String-based process commands.
Description
Simple wrappers over System.Process (readProcess, readProcessWithExitCode, rawSystem, and createProcess). The idea is to provide some common idioms for calling out to commands from programs. For more advanced shell-scripting or streaming use turtle, shelly, shake, etc.
README.md
simple-cmd
Some simple String wrappers of readProcess
, readProcessWithExitCode
, rawSystem
from the Haskell process
library.
Usage
import SimpleCmd
cmd_ :: String -> [String] -> IO ()
outputs to stdout. For example
cmd_ "echo" ["Hello"]
cmd_ "git" ["clone", url]
This can shortened to git_ "clone" [url]
.
cmd :: String -> [String] -> IO String
returns stdout as a String
. eg
date <- cmd "date" []
There are also cmdBool
, cmdMaybe
, cmdList
, shell
, and others.
Simple pipes are also supported:
pipe_ ("echo",["hello"]) ("grep",["ello"])
pipeBool
returns True if both commands succeed.
Other examples:
gitBranch :: IO String
grep_ pat file :: IO Bool
sudo_ c args :: IO ()
timeIO :: IO a -> IO a
See the library documentation for more details.