#!/usr/bin/env stack
{- stack --install-ghc --resolver lts-8.8 runghc
-}
import System.IO
import System.Process
main = createProcess (proc "ls" [])
虽然Haskell将stdout
视为tty,但hIsTerminalDevice stdout
返回True
,ls
无法识别它,并且不输出颜色。
有没有办法绕过这个或者显然不可能在Haskell中使用彩色输出?
编辑:要清楚,我不希望只有ls
工作,而是在将stdout
标识为tty时支持颜色输出的所有Unix工具。
答案 0 :(得分:5)
答案是Haskell没有错,我混淆了我自己的ls
,这个别名是ls --color=tty
。