mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 21:03:12 +00:00
Expand the switch/case documentation
darcs-hash:20060421083529-ac50b-f287424c0cc9377085b49492453d35a5512cbc90.gz
This commit is contained in:
parent
f59e4a88c6
commit
a7f977836a
2 changed files with 35 additions and 3 deletions
|
@ -11,6 +11,22 @@ wildcarded values. The \c case statement is used together with the \c
|
||||||
switch statement in order to determine which block should be
|
switch statement in order to determine which block should be
|
||||||
performed.
|
performed.
|
||||||
|
|
||||||
|
Each \c case command is given one or more parameter. The first \c case
|
||||||
|
command with a parameter that matches the string specified in the
|
||||||
|
switch command will be evaluated. \c case parameters may contain
|
||||||
|
wildcards. These need to be escaped or quoted in order to avoid
|
||||||
|
regular wildcard expansion using filenames.
|
||||||
|
|
||||||
|
Note that fish does not fall through on case statements. Though the
|
||||||
|
syntax may look a bit like C switch statements, it behaves more like
|
||||||
|
the case stamantes of traditional shells.
|
||||||
|
|
||||||
|
Also note that command substitutions in a case statement will be
|
||||||
|
evaluated even if it's body is not taken. This may seem
|
||||||
|
counterintuitive at first, but it is unavoidable, since it would be
|
||||||
|
impossible to know if a case command will evaluate to true before all
|
||||||
|
forms of parameter expansion have been performed for the case command.
|
||||||
|
|
||||||
\subsection case-example Example
|
\subsection case-example Example
|
||||||
|
|
||||||
If the variable \$animal contains the name of an animal, the following
|
If the variable \$animal contains the name of an animal, the following
|
||||||
|
@ -27,9 +43,11 @@ switch $animal
|
||||||
echo bird
|
echo bird
|
||||||
case shark trout stingray
|
case shark trout stingray
|
||||||
echo fish
|
echo fish
|
||||||
|
case '*'
|
||||||
|
echo I have no idea what a $animal is
|
||||||
end
|
end
|
||||||
</pre>
|
</pre>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
If the above code was run with \$animal set to \c whale, the output would be \c mammal.
|
If the above code was run with \c \$animal set to \c whale, the output would be \c mammal.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -8,7 +8,19 @@
|
||||||
|
|
||||||
The \c switch statement is used to perform one of several blocks of
|
The \c switch statement is used to perform one of several blocks of
|
||||||
commands depending on whether a specified value equals one of several
|
commands depending on whether a specified value equals one of several
|
||||||
wildcarded values.
|
wildcarded values. The \c case statement is used together with the \c
|
||||||
|
switch statement in order to determine which block should be
|
||||||
|
performed.
|
||||||
|
|
||||||
|
Each \c case command is given one or more parameter. The first \c case
|
||||||
|
command with a parameter that matches the string specified in the
|
||||||
|
switch command will be evaluated. \c case parameters may contain
|
||||||
|
wildcards. These need to be escaped or quoted in order to avoid
|
||||||
|
regular wildcard expansion using filenames.
|
||||||
|
|
||||||
|
Note that fish does not fall through on case statements. Though the
|
||||||
|
syntax may look a bit like C switch statements, it behaves more like
|
||||||
|
the case stamantes of traditional shells.
|
||||||
|
|
||||||
\subsection switch-example Example
|
\subsection switch-example Example
|
||||||
|
|
||||||
|
@ -26,12 +38,14 @@ switch $animal
|
||||||
echo bird
|
echo bird
|
||||||
case shark trout stingray
|
case shark trout stingray
|
||||||
echo fish
|
echo fish
|
||||||
|
case '*'
|
||||||
|
echo I have no idea what a $animal is
|
||||||
end
|
end
|
||||||
</pre>
|
</pre>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
If the above code was run with \$animal set to \c whale, the output
|
If the above code was run with \c \$animal set to \c whale, the output
|
||||||
would be \c mammal.
|
would be \c mammal.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
Loading…
Reference in a new issue