[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

From: Chet Ramey
Subject: Re: Different history expansion behaivor: true `# # !xxx` vs. true `# !xxx`
Date: Tue, 3 Mar 2020 14:27:30 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

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    address@hidden    http://tiswww.cwru.edu/~chet/

reply via email to

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