blob: aee50f5ce32f103ee6651a5e6edaa9b5d8399516 (
plain)
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
|
\section begin begin - start a new block of code
\subsection begin-synopsis Synopsis
\fish{syn}
begin; [COMMANDS...;] end
\endfish
\subsection begin-description 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.
\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.
\fish
begin
set -l PIRATE Yarrr
...
end
echo $PIRATE
# This will not output anything, since the PIRATE variable went out
# of scope at the end of the block
\endfish
In the following code, all output is redirected to the file out.html.
\fish
begin
echo $xml_header
echo $html_header
if test -e $file
...
end
...
end > out.html
\endfish
|