Provided by: manpages-posix_2017a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

NAME

       tty — return user's terminal name

SYNOPSIS

       tty

DESCRIPTION

       The  tty  utility shall write to the standard output the name of the terminal that is open
       as standard input. The name that is used shall be equivalent to the string that  would  be
       returned   by   the  ttyname()  function  defined  in  the  System  Interfaces  volume  of
       POSIX.1‐2017.

OPTIONS

       The tty utility shall conform to the Base  Definitions  volume  of  POSIX.1‐2017,  Section
       12.2, Utility Syntax Guidelines.

OPERANDS

       None.

STDIN

       While  no input is read from standard input, standard input shall be examined to determine
       whether or not it is a terminal, and, if so, to determine the name of the terminal.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of tty:

       LANG      Provide a default value for the internationalization variables that are unset or
                 null.   (See   the   Base  Definitions  volume  of  POSIX.1‐2017,  Section  8.2,
                 Internationalization  Variables  for  the  precedence  of   internationalization
                 variables used to determine the values of locale categories.)

       LC_ALL    If  set  to  a  non-empty  string  value,  override  the values of all the other
                 internationalization variables.

       LC_CTYPE  Determine the locale for the interpretation of sequences of bytes of  text  data
                 as  characters  (for example, single-byte as opposed to multi-byte characters in
                 arguments).

       LC_MESSAGES
                 Determine the locale that should be used to affect the format  and  contents  of
                 diagnostic  messages  written to standard error and informative messages written
                 to standard output.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       If standard input is a terminal device, a pathname of the terminal  as  specified  by  the
       ttyname()  function  defined  in  the  System  Interfaces  volume of POSIX.1‐2017 shall be
       written in the following format:

           "%s\n", <terminal name>

       Otherwise, a message shall be written indicating that standard input is not connected to a
       terminal. In the POSIX locale, the tty utility shall use the format:

           "not a tty\n"

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0    Standard input is a terminal.

        1    Standard input is not a terminal.

       >1    An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       This  utility  checks  the  status  of  the file open as standard input against that of an
       implementation-defined set of files. It is possible that no match can be  found,  or  that
       the  match  found  need  not  be the same file as that which was opened for standard input
       (although they are the same device).

EXAMPLES

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The Base Definitions volume of POSIX.1‐2017, Chapter  8,  Environment  Variables,  Section
       12.2, Utility Syntax Guidelines

       The System Interfaces volume of POSIX.1‐2017, isatty(), ttyname()

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1-2017, Standard for Information Technology -- Portable  Operating  System  Interface
       (POSIX),  The  Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by
       the Institute of Electrical and Electronics Engineers, Inc and The  Open  Group.   In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .