Simple String-based process commands

Version on this page:0.2.1
LTS Haskell 22.29:0.2.7
Stackage Nightly 2024-07-18:0.2.7
Latest on Hackage:0.2.7

See all snapshots simple-cmd appears in

BSD-3-Clause licensed by Jens Petersen
Maintained by [email protected]
This version can be pinned in stack with:simple-cmd-0.2.1@sha256:002e0eea0dfe3df671c64096ccbcf11070fe7d0577c6141c9d7ed831a959961c,1465

Module documentation for 0.2.1

Build Status Hackage Stackage LTS Stackage Nightly


Some simple String wrappers of readProcess, readProcessWithExitCode, rawSystem from the Haskell process library.


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"])

Other examples:

gitBranch :: IO String
grep_ pat file :: IO Bool
sudo_ c args :: IO ()

See the library documentation for more details.


Revision history for simple-cmd

0.2.1 (2019-12-12)

  • add cmdTry_: only runs if available
  • add ifM and whenM
  • add needProgram

0.2.0 (2019-06-03)

  • add warning command
  • API change: sudo and sudo_
  • add shellBool
  • add pipe, pipe_, pipeBool, pipeFile_, pipe3
  • quoteCmd uses showCommandForUser

0.1.4 (2019-04-08)

  • export error’
  • add cmdLog (deprecates cmdlog) (2019-03-15)

  • sudo: ignored for root or when no sudo installed

0.1.3 – 2019-02-20

  • gitDiffQuiet
  • fix rwGitDir regexp
  • use errorWithoutStackTrace

0.1.2 – 2018-10-28

  • grep
  • improve haddock documentation

0.1.1 – 2018-10-02

  • cmdLines
  • Git: grepGitConfig
  • new Rpm: rpmspec – 2018-09-13

  • Initial release, providing: cmd, cmd_, cmdBool, cmdMaybe, cmdStdIn, cmdlog, cmdN, cmdIgnoreErr, cmdQuiet, cmdSilent, cmdStdErr, egrep_, grep_, logMsg, removePrefix, removeStrictPrefix, removeSuffix, shell, shell_, sudo, (+-+)
  • A few git commands

Local Variables:

mode: text