mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 09:39:52 +08:00
3a23fdf359
Includes harmonizing the display of options and arguments, standardising terminology, using the envvar directive more broadly, adding help options to all commands that support them, simplifying some language, and tidying up multiple formatting issues. string documentation is not changed.
33 lines
965 B
ReStructuredText
33 lines
965 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 :ref:`and <cmd-and>` or :ref:`or <cmd-or>` for complex conditions. Even more complex control can be achieved with ``while true`` containing a :ref:`break <cmd-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.
|
|
|