mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 01:52:39 +08:00
298c580e72
See #4311.
24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
\section and and - conditionally execute a command
|
|
|
|
\subsection and-synopsis Synopsis
|
|
\fish{synopsis}
|
|
COMMAND1; and COMMAND2
|
|
\endfish
|
|
|
|
\subsection and-description Description
|
|
|
|
`and` is used to execute a command if the current exit status (as set by the previous command) is 0.
|
|
|
|
`and` statements may be used as part of the condition in an <a href="#if">`if`</a> or <a href="#while">`while`</a> block. See the documentation for <a href="#if">`if`</a> and <a href="#while">`while`</a> for examples.
|
|
|
|
`and` does not change the current exit status itself, but the command it runs most likely will. 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 and-example Example
|
|
|
|
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.
|
|
|
|
\fish
|
|
make; and make install; or make clean
|
|
\endfish
|
|
|