2006-10-31 23:23:16 +08:00
\section and and - conditionally execute a command
2005-09-20 21:31:55 +08:00
\subsection and-synopsis Synopsis
2014-08-01 20:25:41 +08:00
\fish{synopsis}
2014-08-01 10:37:32 +08:00
COMMAND1; and COMMAND2
\endfish
2005-09-20 21:31:55 +08:00
\subsection and-description Description
2014-08-19 20:41:23 +08:00
`and` is used to execute a command if the current exit status (as set by the last previous command) is 0.
2006-06-04 07:15:17 +08:00
2014-08-01 10:37:32 +08:00
`and` does not change the current exit status.
2005-09-20 21:31:55 +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 and-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, `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-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
2005-09-20 21:31:55 +08:00