begin(1)

NAME
begin - start a new block of code

  Synopsis
begin; [COMMANDS...;] end

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

  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.

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

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