run :: String -> IO ()
run cmd = do
   -- putStrLn cmd
   status <- system cmd
   if status /= ExitSuccess
      then do
         putStrLn $ "Command failed with status: " ++ show status
         exitWith status
      else return ()
run :: String -> IO ()
run cmd = do
   -- putStrLn cmd
   status <- system cmd
   if status /= ExitSuccess
      then do
         putStrLn $ "Command failed with status: " ++ show status
         exitWith status
      else return ()
run cmd = do
   -- putStrLn cmd
   status <- system cmd
   if status /= ExitSuccess
      then do
         putStrLn $ "Command failed with status: " ++ show status
         exitWith status
      else return ()