packages feed

shelly-0.9.3: test/main.hs

{-# Language OverloadedStrings #-}
{-# Language ExtendedDefaultRules #-}
{-# Language ScopedTypeVariables #-}
{-# OPTIONS_GHC -fno-warn-type-defaults #-}

import Shelly
import Data.Text.Lazy as LT
default (LT.Text)

main :: IO ()
main =
  shelly $
    -- verbosely $
    do
    jobs 2 $ \job -> do
      _<- background job $ cmd "sleep" "2"
      echo "immediate"
      _<- background job $ cmd "sleep" "2"
      echo "immediate2"
      _<- background job $ cmd "sleep" "2"
      echo "blocked by background "
 
    echo "blocked by jobs"

    setStdin "in"
    setStdin "override stdin"
    run_ "cat" ["-"]

    recho <- cmd "echo" "cmd"
    _<-cmd "echo" "bar" "baz"
    echo recho

    (res :: Text) <- cmd "pwd"
    liftIO $ putStrLn $ show res
    inspect res

    inspect =<< (cmd "echo" "compose" :: ShIO Text)
    inspect =<< (cmd "pwd")