HSH project 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
Requirements:
· GHC 6.6 or above
· FilePath
· hslogger
· MissingH
Installation:
The first step is to generate your setup file. To do that, run:
make setup
Now:
./setup configure
./setup build
./setup install
Optionally, to run the unit tests, you'll need to install HUnit. Then:
make test
or:
make test-hugs
What's New in This Release:
· Support was added for ByteStrings and lazy ByteStrings for many operations.
Product's homepage