while - perform a command multiple times
while CONDITION; COMMANDS...; end
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 and or or for complex conditions. Even more complex
control can be achieved with while true containing a break.
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.
2021, fish-shell developers