GNU/Linux >> Tutoriales Linux >  >> Linux

Detectar en C si se envía a una terminal

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.

Desde stdout siempre es el descriptor de archivo 1, puede hacer:

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. ¿Cómo detectar Bash> =4.0?

  2. ¿Desvincular F10 en una terminal?

  3. | ¿En Comando Terminal?

  4. Utilidad de terminal CWP

  5. 5 usos del comando mv en la terminal de Linux

Por qué uso rxvt como mi terminal

Juega Tetris en tu terminal Linux

Cómo usar Instagram en la terminal

Localizadores de terminales

¿Mi terminal es invisible?

Terminal de compensación