/usr/share/fish/man/man1/begin.1 is in fish-common 2.4.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | .TH "begin" 1 "Sun Dec 11 2016" "Version 2.4.0" "fish" \" -*- nroff -*-
.ad l
.nh
.SH NAME
\fBbegin\fP -- start a new block of code
.PP
.SS "Synopsis"
.PP
.nf
\fBbegin\fP; [COMMANDS\&.\&.\&.;] \fBend\fP
.fi
.PP
.SS "Description"
\fCbegin\fP is used to create a new block of code\&.
.PP
The block is unconditionally executed\&. \fCbegin; \&.\&.\&.; end\fP is equivalent to \fCif true; \&.\&.\&.; end\fP\&.
.PP
\fCbegin\fP 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 \fCand\fP\&.
.PP
\fCbegin\fP does not change the current exit status\&.
.SS "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\&.
.PP
.PP
.nf
\fBbegin\fP
\fBset\fP -l PIRATE Yarrr
\&.\&.\&.
\fBend\fP
.fi
.PP
.PP
.PP
.nf
\fBecho\fP $PIRATE
This will not output anything, since the PIRATE variable
went out of scope at the end of the block
.fi
.PP
.PP
In the following code, all output is redirected to the file out\&.html\&.
.PP
.PP
.nf
\fBbegin\fP
\fBecho\fP $xml_header
\fBecho\fP $html_header
\fBif\fP \fBtest\fP -e $file
\&.\&.\&.
\fBend\fP
\&.\&.\&.
\fBend\fP > out\&.html
.fi
.PP
|