2006-11-01 01:23:16 +10:00
\section or or - conditionally execute a command
2005-09-20 23:31:55 +10:00
\subsection or-synopsis Synopsis
2014-08-01 13:25:41 +01:00
\fish{synopsis}
2014-08-01 03:37:32 +01:00
COMMAND1; or COMMAND2
\endfish
2005-09-20 23:31:55 +10:00
\subsection or-description Description
2014-08-19 13:41:23 +01:00
`or` is used to execute a command if the current exit status (as set by the last previous command) is not 0.
2005-09-20 23:31:55 +10:00
2014-08-01 03:37:32 +01:00
`or` does not change the current exit status.
2006-06-04 09:15:17 +10:00
2014-08-19 13:41:23 +01:00
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.
2006-11-02 23:47:25 +10:00
2005-09-20 23:31:55 +10:00
\subsection or-example Example
2014-08-19 13:41:23 +01:00
The following code runs the `make` command to build a program. If the build succeeds, the program is installed. If either step fails, `make clean` is run, which removes the files created by the build process.
2006-06-04 09:15:17 +10:00
2014-08-01 03:37:32 +01:00
\fish
2006-06-04 09:15:17 +10:00
make; and make install; or make clean
2014-08-01 03:37:32 +01:00
\endfish