diff --git a/Base/usr/share/man/man5/Shell.md b/Base/usr/share/man/man5/Shell.md index 3671467e89e..6819691e2eb 100644 --- a/Base/usr/share/man/man5/Shell.md +++ b/Base/usr/share/man/man5/Shell.md @@ -58,6 +58,8 @@ Any text following a `#` in _bareword_ position, up to but not including a newli The following tokens: * `for` in command name position * `in` as a syntactic element of a `for` expression +* `if` in command name position, or after the `else` keyword +* `else` after a partial `if` expression ##### Special characters Any of the following: @@ -164,10 +166,10 @@ rm test && echo "deleted!" || echo "failed with $?" ##### Conditionals Conditionals can either be expressed with the _Logical Relations_, or via explicit `if` expressions. -An `if` expression contains at least a _condition_ and a _then clause_, and optionally an _else clause_. +An `if` expression contains at least a _condition_ and a _then clause_, and optionally the `else` keyword followed by an _else clause_. An _else clause_ may contain another `if` expression instead of a normal block. -The _then clause_ **must** be surrounded by braces, but the _else clause_ may also be another `if` expression, or missing. +The _then clause_ **must** be surrounded by braces, but the _else clause_ may also be another `if` expression. An `if` expression evaluates either the _then clause_ or (if available) the _else clause_, based on the exit code of the _condition_; should the exit code be zero, the _then clause_ will be executed, and if not, the _else clause_ will.