.. SPDX-License-Identifier: GPL-2.0-or-later .. index:: single: if (command) if command ========== Synopsis -------- :: if then fi if then else fi Description ----------- The if command is used to conditionally execute statements. test statement Any command. The test statement set the $? variable. If the value of $? becomes 0 (true) the statements after the **then** statement will be executed. Otherwise the statements after the **else** statement. Example ------- The examples shows how the value of a numeric variable can be tested with **itest**. :: => a=1; if itest $a == 0; then echo true; else echo false; fi false => a=0; if itest $a == 0; then echo true; else echo false; fi true In the following example we try to load an EFI binary via TFTP. If loading succeeds, the binary is executed. :: if tftp $kernel_addr_r shellriscv64.efi; then bootefi $kernel_addr_r; fi Return value ------------ The value of $? is the return value of the last executed statement. :: => if true; then true; else true; fi; echo $? 0 => if false; then true; else true; fi; echo $? 0 => if false; then false; else false; fi; echo $? 1 => if true; then false; else false; fi; echo $? 1 => if false; then true; fi; echo $? 1