GNU/Linux >> Linux Esercitazione >  >> Linux

Rileva in C se emette su un terminale

Usa 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.

Dal stdout è sempre il descrittore di file 1, puoi fare:

if(isatty(1))
    // stdout is a terminal

if (isatty (1))
    fprintf (stdout, "Outputting to a terminal.");
else
    fprintf (stdout, "Not outputting to a terminal.");

Linux
  1. Qual è il tuo emulatore di terminale preferito?

  2. Parti per un'avventura nel tuo terminale Linux

  3. Come rilevare Bash>=4.0?

  4. Annullare F10 su un terminale?

  5. Nascondi l'immissione della password sul terminale

Perché uso rxvt come terminale

Gioca a Tetris sul tuo terminale Linux

Come utilizzare Instagram nel terminale

Cercapersone terminali

Il mio terminale è invisibile?

Terminale di compensazione