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
2023, fish-shell developers