fish-shell/doc_src/cmds/command.rst
Fabian Boehm b435fc4539 docs: Add something on variables-as-commands
Specifically point towards the necessary splitting (as always,
separate ahead of time) and the keyword thing.

Fixes #9797
2023-05-21 10:13:54 +02:00

43 lines
1.4 KiB
ReStructuredText

.. _cmd-command:
command - run a program
=======================
Synopsis
--------
.. synopsis::
command [OPTIONS] [COMMANDNAME [ARG ...]]
Description
-----------
**command** forces the shell to execute the program *COMMANDNAME* and ignore any functions or builtins with the same name.
In ``command foo``, ``command`` is a keyword.
The following options are available:
**-a** or **--all**
Prints all *COMMAND* found in :envvar:`PATH`, in the order found.
**-q** or **--query**
Silence output and print nothing, setting only exit status.
Implies **--search**.
For compatibility, this is also **--quiet** (deprecated).
**-v** (or **-s** or **--search**)
Prints the external command that would be executed, or prints nothing if no file with the specified name could be found in :envvar:`PATH`.
**-h** or **--help**
Displays help about using this command.
With the **-v** option, ``command`` treats every argument as a separate command to look up and sets the exit status to 0 if any of the specified commands were found, or 127 if no commands could be found. **--quiet** used with **-v** prevents commands being printed, like ``type -q``.
Examples
--------
| ``command ls`` executes the ``ls`` program, even if an ``ls`` function also exists.
| ``command -s ls`` prints the path to the ``ls`` program.
| ``command -q git; and command git log`` runs ``git log`` only if ``git`` exists.