找出stdout是终端还是管道

时间:2016-03-07 12:33:40

标签: node.js

如何检测process.stdout / stdin的类型是终端还是管道/文件?需要剪切JavaScript:

function isTerminal(){ 
   ......
}

1 个答案:

答案 0 :(得分:4)

如果process.stdout的类型是管道/文件,则最简单的标识方式 将是process.stdout.isTTY(0.8 +):

$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false 
$ node -p -e "Boolean(process.stdout.isTTY)"
true

您还可以使用tty模块测试以下内容以进行更精细的控制:

if (require('tty').isatty(1)) {
    // terminal
}