Подобно bash-примерам, на которые вы ссылаетесь, Node имеет модуль 'tty', чтобы справиться с этим.
Чтобы проверить, перенаправлен ли вывод, вы можете использовать метод 'isatty'.Документы здесь: http://nodejs.org/docs/v0.5.0/api/tty.html#tty.isatty
Например, чтобы проверить, перенаправлен ли стандартный вывод:
var tty = require('tty');
if (tty.isatty(process.stdout.fd)) {
console.log('not redirected');
}
else {
console.log('redirected');
}
Обновление
В новых версиях узла (начиная с 0.12.0),API предоставляет флаг для stdout
, поэтому вы можете просто сделать это:
if (process.stdout.isTTY) {
console.log('not redirected');
}
else {
console.log('redirected');
}