[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Defect in manual section "Conditional Constructs" / case
From: |
Dietmar_Schindler |
Subject: |
Defect in manual section "Conditional Constructs" / case |
Date: |
Tue, 24 Aug 2021 07:47:53 +0200 |
(resending this from private account without the silly company "Confidelity
note")
In the section
https://www.gnu.org/software/bash/manual/bash.html#Conditional-Constructs in
the description of the "case" command there is no mention (as far as I can see,
it doesn't follow from the documented expansions etc.) that a _pattern_
undergoes quote removal, but it does [see e. g. case aa in a""a) echo match;;
esac]. (One might think it does self-evidently in the process of "Shell
Expansions" performed on the command line, but this expansion series is not
performed on the case command's _word_ and patterns - they for example don't
undergo brace expansion -; for _word_, it is explicitly said: "The _word_
undergoes tilde expansion, parameter expansion, command substitution,
arithmetic expansion, and quote removal …"; for _pattern_: "Each _pattern_
undergoes tilde expansion, parameter expansion, command substitution, and
arithmetic expansion." - quote removal is missing.)
To rectify it, I suggest to change and simplify these sentences from
The _word_ undergoes tilde expansion, parameter expansion, command
substitution, arithmetic expansion, and quote removal (see Shell Parameter
Expansion) before matching is attempted. Each _pattern_ undergoes tilde
expansion, parameter expansion, command substitution, and arithmetic expansion.
to
The _word_ and each _pattern_ undergo tilde expansion, parameter
expansion, command substitution, arithmetic expansion, and quote removal (see
Shell Parameter Expansion) before matching is attempted.
--
Best regards,
Dietmar Schindler