Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15985

Re: Different history expansion behaivor: true `# # !xxx` vs. true `# !xxx`

From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: Different history expansion behaivor: true `# # !xxx` vs. true `# !xxx`
Date 2020-03-03 14:27 -0500
Message-ID <mailman.1980.1583263658.2412.bug-bash@gnu.org> (permalink)
References <CADv8-oiACrb1M3RzRGVaGft-m7BfmiJDu_cHYfaKuTS+fYyuQQ@mail.gmail.com> <fec1372f-7440-aef8-4594-f9216da1b7c4@case.edu>

Show all headers | View raw


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.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Re: Different history expansion behaivor: true `# # !xxx` vs. true `# !xxx` Chet Ramey <chet.ramey@case.edu> - 2020-03-03 14:27 -0500

csiph-web