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