bug-bash
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]