On Thu, Jun 19, 2025, at 6:10 PM, Lawrence Velázquez wrote: > This changed in bash 5.2: > > There is a new shell option, `patsub_replacement'. When > enabled, a `&' in the replacement string of the pattern > substitution expansion is replaced by the portion of the > string that matched the pattern. Backslash will escape the > `&' and insert a literal `&'. This option is enabled by > default. > > (Since '\' is now an escape character, the fact that it escapes > itself is implied.)
To be clear, I meant that it is implied in that announcement excerpt. The current man page states it rather explicitly: Quoting any part of _string_ inhibits replacement in the expansion of the quoted portion, including replacement strings stored in shell variables. Backslash will escape `&' in _string_; the backslash is removed in order to permit a literal `&' in the replacement string. Backslash can also be used to escape a backslash; `\\' results in a literal backslash in the replacement. -- vq