begin(1)                             fish                             begin(1)

       begin - start a new block of code

       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 and.

       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.

           set -l PIRATE Yarrr


       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.

           echo $xml_header
           echo $html_header
           if test -e $file
       end > out.html

Version 3.0.2                   Tue Mar 26 2019                       begin(1)