shh is a really cool package, and so is turtle and shelly:
https://hackage.haskell.org/package/turtle/docs/Turtle-Tutor...
https://hackage.haskell.org/package/shelly
shh's "Alternatives" section summarises nicely some of the differences between these:
https://github.com/luke-clifton/shh#alternatives
shh has a neat [fmt| ... |] macro that gets you around escaping strings.
shh generally has more Template Haskell support; you may or may not like this.
I am personally leaning towards shh because of its "native pipe style".