begin; [COMMANDS...;] end
begin is used to create a new block of code.
A block allows the introduction of a new variable scope, redirection of the input or output of a set of commands as a group, or to specify precedence when using the conditional commands like
The block is unconditionally executed.
begin; ...; end is equivalent to
if true; ...; end.
begin does not change the current exit status itself. After the block has completed,
$status will be set to the status returned by the most recent command.
The following code sets a number of variables inside of a block scope. Since the variables are set inside the block and have local scope, they will be automatically deleted when the block ends.
begin set -l PIRATE Yarrr ... end echo $PIRATE # This will not output anything, since the PIRATE variable # went out of scope at the end of the block
In the following code, all output is redirected to the file out.html.
begin echo $xml_header echo $html_header if test -e $file ... end ... end > out.html
© 2019 fish-shell developers
Licensed under the GNU General Public License, version 2.