2006-10-31 23:23:16 +08:00
\section or or - conditionally execute a command
2005-09-20 21:31:55 +08:00
\subsection or-synopsis Synopsis
2014-08-01 20:25:41 +08:00
\fish{synopsis}
2014-08-01 10:37:32 +08:00
COMMAND1; or COMMAND2
\endfish
2005-09-20 21:31:55 +08:00
\subsection or-description Description
2014-08-19 20:41:23 +08: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 21:31:55 +08:00
2014-08-01 10:37:32 +08:00
`or` does not change the current exit status.
2006-06-04 07:15:17 +08:00
2014-08-19 20:41:23 +08: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 21:47:25 +08:00
2005-09-20 21:31:55 +08:00
\subsection or-example Example
2014-08-19 20:41:23 +08: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 07:15:17 +08:00
2014-08-01 10:37:32 +08:00
\fish
2006-06-04 07:15:17 +08:00
make; and make install; or make clean
2014-08-01 10:37:32 +08:00
\endfish