type - locate a command and describe its type


type [OPTIONS] NAME [...]


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.


>_ type fg
fg is a builtin