fish-shell/doc_src/if.txt
Mark Griffiths 629a39b45b Tutorial auto colouring, Man page and Make fixes
Completely fixes #1557 and the underlying Doxygen changes that caused
it. Should make fish docs simpler and more robust, more consistent and
generally prettier.

todo:
- trap unmarked text as arguments in context
- test & fix sed portability - see in particular. (so far tested on BSD
(Mac) and GNU sed).
- test Makefile changes
- last round of aesthetic changes and getting that ascii fish in there…
2014-08-08 03:44:37 +01:00

44 lines
1.2 KiB
Plaintext

\section if if - conditionally execute a command
\subsection if-synopsis Synopsis
\fish{synopsis}
if CONDITION; COMMANDS_TRUE...;
[else if CONDITION2; COMMANDS_TRUE2...;]
[else; COMMANDS_FALSE...;]
end
\endfish
\subsection if-description Description
`if` will execute the command `CONDITION`. If the condition's
exit status is 0, the commands `COMMANDS_TRUE` will execute. If the
exit status is not 0 and `else` is given, `COMMANDS_FALSE` will
be executed.
In order to use the exit status of multiple commands as the condition
of an if block, use <a href="#begin">`begin; ...; end`</a> and
the short circuit commands <a href="commands.html#and">`and`</a>
and <a href="commands.html#or">`or`</a>.
The exit status of the last foreground command to exit can always be
accessed using the <a href="index.html#variables-status">$status</a>
variable.
\subsection if-example Example
\fish
if test -f foo.txt
echo foo.txt exists
else if test -f bar.txt
echo bar.txt exists
else
echo foo.txt and bar.txt do not exist
end
\endfish
will print `foo.txt exists` if the file foo.txt
exists and is a regular file, otherwise it will print
`bar.txt exists` if the file bar.txt exists
and is a regular file, otherwise it will print
`foo.txt and bar.txt do not exist`.