command - Run a simple command
Format
- command [-p] command-name [argument...]
- command [-V|-v] command-name
Description
command causes the shell to suppress its function lookup and execute the
given command and arguments as though they made up a standard command line. In
most cases, if command-name is not the name of a function, the results are
the same as omitting command. If, however, command-name is a special
built-in command, (see sh), some unique properties of special built-in
commands do not apply:
- A syntax error in the command does not cause the shell running the command to stop.
- Variable assignments specified with the special built-in command do not remain in effect after the shell runs the command.
Options
- -p
- Searches for command-name using the system default PATH variable.
- -v
- Writes a string indicating the path name or command that the shell uses to invoke command-name.
- -V
- Writes a string indicating how the shell interprets command-name. If command-name is a command, a regular built-in command, or an implementation-provided function found using the PATH variable, the string identifies it as such and includes the absolute path name. If command-name is an alias, function, special built-in command, or reserved word, the string identifies it as such and includes its definition if it is an alias. If the command is a tracked alias, the string identifies it as cached.
Examples
Typically, you use command when
you have a command that might have the same name as a function. For
example, here's a definition of a cd function
that not only switches to a new directory but also uses lc to
list the contents of that directory:
function cd {
command cd $1
lc
}
Inside the function, use command to get at the real cd. Otherwise, the cd function would call itself in an infinite recursion.
Localization
command uses
the following localization environment variables:
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
Usage notes
command is a built-in shell command.
Exit values
If you specified -v, possible exit status values are:
0
- Successful completion
1
- command could not find command-name, or an error occurred
2
- Failure due to incorrect command-line argument
If you did not specify -v, possible exit status values are:
126
- command found command-name, but failed to invoke it.
127
- An error occurred in the command or it could not find command-name.
Otherwise, the exit status of command is the exit status of command-name.
Portability
POSIX.2.
Related information
sh