Check output device is a terminal: Difference between revisions
Content added Content deleted
(→{{header|Rust}}: Updated to the Rust 1.2.0) |
(Add Haskell) |
||
Line 112: | Line 112: | ||
> hello | cat |
> hello | cat |
||
Who are you? You're not a terminal. |
Who are you? You're not a terminal. |
||
</pre> |
|||
=={{header|Haskell}}== |
|||
<lang haskell>module Main where |
|||
-- requires the unix package |
|||
-- https://hackage.haskell.org/package/unix |
|||
import System.Posix.Terminal (queryTerminal) |
|||
import System.Posix.IO (stdOutput) |
|||
main :: IO () |
|||
main = do |
|||
istty <- queryTerminal stdOutput |
|||
putStrLn (if istty |
|||
then "stdout is tty" |
|||
else "stdout is not tty") |
|||
</lang> |
|||
{{out}} |
|||
<pre>$ runhaskell istty.hs |
|||
stdout is tty |
|||
$ runhaskell istty.hs | cat |
|||
stdout is not tty |
|||
</pre> |
</pre> |
||