simple-cmd: Simple String-based process commands

[ bsd3, library, system ] [ Propose Tags ]

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, command, etc.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1, 0.1.2, 0.1.3, 0.1.3.1, 0.1.4, 0.2.0, 0.2.0.1, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7
Change log ChangeLog.md
Dependencies base (<5), directory (>=1.2.5.0), extra, filepath, process (>=1.4.3.0), unix [details]
License BSD-3-Clause
Copyright 2017-2022 Jens Petersen <juhpetersen@gmail.com>
Author Jens Petersen <juhpetersen@gmail.com>
Maintainer Jens Petersen <juhpetersen@gmail.com>
Revised Revision 1 made by JensPetersen at 2022-04-24T09:06:28Z
Category System
Home page https://github.com/juhp/simple-cmd
Bug tracker https://github.com/juhp/simple-cmd/issues
Source repo head: git clone https://github.com/juhp/simple-cmd
Uploaded by JensPetersen at 2022-03-27T09:25:20Z
Distributions Fedora:0.2.7, LTSHaskell:0.2.7, NixOS:0.2.7, Stackage:0.2.7
Reverse Dependencies 2 direct, 1 indirect [details]
Downloads 6348 total (64 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-03-27 [all 1 reports]

Readme for simple-cmd-0.2.4

[back to package description]

Hackage Stackage LTS Stackage Nightly

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 ()

See the library documentation for more details.