This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cmd:goto [2011/03/23 17:32] mcb30 |
cmd:goto [2012/04/18 22:07] mcb30 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Jump to a script label ====== | + | ====== Jump to script label ====== |
===== Synopsis ===== | ===== Synopsis ===== | ||
Line 34: | Line 34: | ||
===== Notes ===== | ===== Notes ===== | ||
+ | |||
+ | If you are using ''goto'' to jump to a label when an operation succeeds, then you must also consider what would happen if the operation were to fail. For example: | ||
+ | |||
+ | dhcp && goto dhcp_ok | ||
+ | |||
+ | If the ''[[:cmd:dhcp]]'' command fails, then the script will immediately terminate, as described in the [[:scripting#error_handling|scripting guide]]. To avoid this problem, you can use the ''||'' operator: | ||
+ | |||
+ | dhcp && goto dhcp_ok || | ||
As with all iPXE commands, any [[:settings]] such as ${hostname} will be expanded. It is therefore possible to use a dynamically-generated label as the target for the ''goto'' command. For example, if the hostname provided by DHCP is ''thinclient1'', then the command | As with all iPXE commands, any [[:settings]] such as ${hostname} will be expanded. It is therefore possible to use a dynamically-generated label as the target for the ''goto'' command. For example, if the hostname provided by DHCP is ''thinclient1'', then the command |