shell. Pipes and redirections work just as expected: sh = Shell.cd("/foo") sh.cat("bar") | sh.tee("baz") > "baa" # or sh.transact do cat("bar") | tee("baz") > "baa" end