-
Notifications
You must be signed in to change notification settings - Fork 14
Home
HSH is designed to let you mix and match shell expressions with Haskell programs. With HSH, it is possible to easily run shell commands, capture their output or provide their input, and pipe them to/from other shell commands and arbitrary Haskell functions at will.
Here are a few examples to get you started:
run $ "echo /etc/pass*" :: IO String -> "/etc/passwd /etc/passwd-" runIO $ "ls -l" -|- "wc -l" -> 12 runIO $ "ls -l" -|- wcL -> 12 runIO $ ("ls", ["-l", "file with spaces.txt"]) glob "~jgoerzen" >>= cd . head
wcL is a pure Haskell function defined in HSH.ShellEquivs.wcL
More examples at Examples.
This software was written by John Goerzen. If you like it, you can send a few dollars my way via my tip jar, though that is certainly optional and doesn’t buy you anything.
- HSH API Documentation — the reference to HSH
- Software related to HSH — where to find the HSH prerequisites, etc.
- Source downloads are available from the HSH Hackage page
- The latest development trees are available via the Github project page
- You can find Debian packages from the HSH Debian Page.
- RPMs and packages for many other Linux and BSD distributions are also included with your distribution.
You can always download the source from the Downloads page and attach diffs. But it’s far better, both for you and for me, if you use Git.
I encourage the use of the haskell-cafe mailing list for questions and discussions about HSH. Gmane has made available excellent archives of this list as well.