Use isatty()
:
$ man isatty
ISATTY(3) Linux Programmer's Manual ISATTY(3)
NAME
isatty - does this descriptor refer to a terminal
SYNOPSIS
#include <unistd.h>
int isatty(int desc);
DESCRIPTION
returns 1 if desc is an open file descriptor connected to a terminal
and 0 otherwise.
Since stdout
is always file descriptor 1, you can do:
if(isatty(1))
// stdout is a terminal
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…