On 3/3/20 2:27 PM, Chet Ramey wrote: > On 3/2/20 9:04 PM, Clark Wang via Bug reports for the GNU Bourne Again > SHell wrote: >> This is from stackoverflow ( https://stackoverflow.com/questions/60166019/ ) >> and it looks like a bug: >> >> $ bash --version >> GNU bash, version 5.0.7(3)-release (x86_64-pc-linux-gnu) >> Copyright (C) 2019 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > > >> This is free software; you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. >> $ >> $ set -H >> $ true `# !xxx` >> bash: !xxx`: event not found > > Well, the history comment character (#) is not found at the start of a > word, so the rest of the line is processed for history expansion. > >> $ true `# # !xxx` > > The history comment character is found at the start of a word and history > expansion skips the rest of the line. > > Readline history expansion knows very little about shell syntax; in > particular, it doesn't know backquotes. It never has.
And the quick test to show that this is the case... $ set -H $ true `# !xxx` bash: !xxx`: event not found $ true ` # !xxx` $ true `# !!` true `# true ` # !xxx`` $ -- Eli Schwartz Arch Linux Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature