# type - locate a command and describe its type

## Synopsis

    type [OPTIONS] NAME [...]

## Description

With no options, type indicates how each NAME would be interpreted if used as a command name.

The following options are available:

-a or --all

  Prints all of possible definitions of the specified names.

-s or --short

  Suppresses function expansion when used with no options or with -a/--all.

-f or --no-functions

  Suppresses function and builtin lookup.

-t or --type

  Prints `function`, `builtin`, or `file` if NAME is a shell function, builtin, or disk file, respectively.

-p or --path

  Prints the path to NAME if NAME resolves to an executable file in `PATH`, the path to the script containing the definition of the function NAME if NAME resolves to a function loaded from a file on disk (i.e. not interactively defined at the prompt), or nothing otherwise.

-P or --force-path

  Returns the path to the executable file NAME, presuming NAME is found in the `PATH` environment variable, or nothing otherwise. --force-path explicitly resolves only the path to executable files in `PATH`, regardless of whether NAME is shadowed by a function or builtin with the same name.

-q or --query

  Suppresses all output; this is useful when testing the exit status. For compatibility with old fish versions this is also --quiet.

-h or --help

  Displays help about using this command.

The -q, -p, -t and -P flags (and their long flag aliases) are mutually exclusive. Only one can be specified at a time.

`type` returns 0 if at least one entry was found, 1 otherwise, and 2 for invalid options or option combinations.

## Example

    >_ type fg
    fg is a builtin