type man page


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.

type — write a description of command type


type name...


The type utility shall indicate how each argument would be interpreted if used as a command name.


The following operand shall be supported:

A name to be interpreted.


Not used.

Environment Variables

The following environment variables shall affect the execution of type:

Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of POSIX.1‐2008, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
If set to a non-empty string value, override the values of all the other internationalization variables.
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).
Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
Determine the location of message catalogs for the processing of LC_MESSAGES.
Determine the location of name, as described in the Base Definitions volume of POSIX.1‐2008, Chapter 8, Environment Variables.

Asynchronous Events



The standard output of type contains information about each operand in an unspecified format. The information provided typically identifies the operand as a shell built-in, function, alias, or keyword, and where applicable, may display the operand's pathname.


The standard error shall be used only for diagnostic messages.

Exit Status

The following exit values shall be returned:

Successful completion.
An error occurred.

Consequences of Errors


The following sections are informative.

Application Usage

Since type must be aware of the contents of the current shell execution environment (such as the lists of commands, functions, and built-ins processed by hash), it is always provided as a shell regular built-in. If it is called in a separate utility execution environment, such as one of the following:

nohup type writer
find . -type f | xargs type

it might not produce accurate results.

See Also

command, hash

The Base Definitions volume of POSIX.1‐2008, Chapter 8, Environment Variables


2013 IEEE/The Open Group POSIX Programmer's Manual