The command built-in executes or identifies a command.

Syntax

  • command [-befp] command [argument…]

  • command -v|-V [-abefkp] command

Description

Without the -v (--identify) or -V (--verbose-identify) option, the built-in executes command with arguments in the same manner as the last step of execution of simple commands. The command is treated as a built-in or external command or a function according to the options specified to the command built-in. The shell does not exit on argument syntax error etc. even if the command is a special built-in

With the -v (--identify) option, command is identified. If the command is found in $PATH, its full pathname is printed. If it is a keyword, function, or built-in that is not found in $PATH, the command name is simply printed. If it is an alias, it is printed in the form like alias ll='ls -l'. If the command is not found, nothing is printed and the exit status is non-zero.

The -V (--verbose-identify) option is similar to the -v (--identify) option, but the output format is more human-friendly.

Options

-a
--alias

Search for the command as an alias. Must be used with the -v (--identify) or -V (--verbose-identify) option.

-b
--builtin-command

Search for the command as a built-in.

-e
--external-command

Search for the command as an external command.

-f
--function

Search for the command as a function.

-k
--keyword

Search for the command as a keyword. Must be used with the -v (--identify) or -V (--verbose-identify) option.

-p
--standard-path

Search the system’s default PATH instead of the current $PATH.

-v
--identify

Identify commands and print in the format defined in the POSIX standard.

-V
--verbose-identify

Identify commands and print in a human-friendly format.

If none of the -a (--alias), -b (--builtin-command), -e (--external-command), -f (--function), and -k (--keyword) options is specified, the following defaults are assumed:

Without the -v (--identify) or -V (--verbose-identify) option

-b -e

With the -v (--identify) or -V (--verbose-identify) option

-a -b -e -f -k

Operands

command

A command to be executed or identified.

argument

Arguments passed to the executed command.

Exit status

The exit status of the command built-in is:

Without the -v (--identify) or -V (--verbose-identify) option

the exit status of the executed command.

With the -v (--identify) or -V (--verbose-identify) option

zero unless there is any error.

Notes

The command built-in is a semi-special built-in.

In the POSIXly-correct mode, options other than -p, -v, and -V cannot be used and at most one command can be specified. The POSIX standard does not allow specifying both -v and -V together, but yash does (only the last specified one is effective).