fish-shell/doc_src/cmds/while.rst
Fabian Boehm 38b24c2325 docs: Use :doc: role when linking to commands
This makes it so we link to the very top of the document instead of a
special anchor we manually include.

So clicking e.g. :doc:`string <cmds/string>` will link you to
cmds/string.html instead of cmds/string.html#cmd-string.

I would love to have a way to say "this document from the root of the
document path", but that doesn't appear to work, I tried
`/cmds/string`.

So we'll just have to use cmds/string in normal documents and plain
`string` from other commands.
2022-09-24 10:56:43 +02:00

33 lines
953 B
ReStructuredText

.. _cmd-while:
while - perform a set of commands multiple times
================================================
Synopsis
--------
.. synopsis::
while CONDITION; COMMANDS; end
Description
-----------
**while** repeatedly executes ``CONDITION``, and if the exit status is 0, then executes ``COMMANDS``.
The exit status of the **while** loop is the exit status of the last iteration of the ``COMMANDS`` executed, or 0 if none were executed. (This matches other shells and is POSIX-compatible.)
You can use :doc:`and <and>` or :doc:`or <or>` for complex conditions. Even more complex control can be achieved with ``while true`` containing a :doc:`break <break>`.
The **-h** or **--help** option displays help about using this command.
Example
-------
::
while test -f foo.txt; or test -f bar.txt ; echo file exists; sleep 10; end
# outputs 'file exists' at 10 second intervals,
# as long as the file foo.txt or bar.txt exists.