fish-shell/doc_src/cmds/while.rst

29 lines
885 B
ReStructuredText
Raw Normal View History

.. _cmd-while:
while - perform a set of commands multiple times
================================================
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.)
2019-03-31 09:24:04 +00:00
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>`.
Example
-------
2018-12-19 03:14:04 +00:00
::
while test -f foo.txt; or test -f bar.txt ; echo file exists; sleep 10; end
2021-02-02 07:35:38 +00:00
# outputs 'file exists' at 10 second intervals,
# as long as the file foo.txt or bar.txt exists.
2018-12-19 03:14:04 +00:00