\section begin begin - start a new block of code \subsection begin-synopsis Synopsis <tt>begin; [COMMANDS...;] end</tt> \subsection begin-description Description The \c begin builtin is used to create a new block of code. The block is unconditionally executed. <code>begin; ...; end</tt> is equivalent to <tt>if true; ...; end</tt>. The begin command is used to group any number of commands into a block. The reason for doing so is usually either to introduce a new variable scope, to redirect the input or output of a set of commands as a group, or to specify precedence when using the conditional commands like \c and. The \c begin command does not change the current exit status. \subsection begin-example Example 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. <pre> begin set -l PIRATE Yarrr ... end # This will not output anything, since the PIRATE variable went out # of scope at the end of the block echo $PIRATE </pre> In the following code, all output is redirected to the file out.html. <pre> begin echo $xml_header echo $html_header if test -e $file ... end ... end > out.html </pre>