begin is used to create a new block of code.
The block is unconditionally executed. begin; ...; end is equivalent to if true; ...; end.
begin is used to group a number of commands into a block. This 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 and.
begin does not change the current exit status.
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.
set -l PIRATE Yarrr
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.
if test -e $file
end > out.html