isatty

isattyは、ファイルディスクリプタが端末を参照しているかどうかを返す。

Man page of ISATTY

わかりにくいので補足すると、ファイルディスクリプタの出力先が標準出力であれば、端末は参照されていると言えるし、
リダイレクトなどで、ファイルなどに出力される場合は参照されていない。

isatty.cで、

isattyが1なら、標準出力、0なら、リダイレクトという形で判定できる。

$ vi isatty.c 
$ gcc isatty.c -o isatty
$ ./isatty 
ABCDE
ABCDE
ABCDE
ABCDE
ABCDE
$ ./isatty > test.txt
$ cat test.txt 
-----header-----
ABCDE
ABCDE
ABCDE
ABCDE
ABCDE
-----footer-----
$

リダイレクトの場合は、headerとfooterが付いているので、ちゃんと判定できてる。

Sample/unixsyscall/isatty/isatty/src/isatty at master · bg1bgst333/Sample · GitHub