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