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


Groups > gnu.bash.bug > #14935

Re: Error on arithmetic evaluation of `~0`.

From Andreas Schwab <schwab@suse.de>
Newsgroups gnu.bash.bug
Subject Re: Error on arithmetic evaluation of `~0`.
Date 2018-12-20 14:46 +0100
Message-ID <mailman.5996.1545313999.1284.bug-bash@gnu.org> (permalink)
References <CAFra36gW8Csu-84oRLV7QsR7PbiMYq6g7WnMktjfnrSdTys38g@mail.gmail.com> <20181220131258.43wcmxlxbogquuoo@eeg.ccf.org>

Show all headers | View raw


On Dez 20 2018, Greg Wooledge <wooledg@eeg.ccf.org> wrote:

> The issue you're reporting appears to be present in arithmetic contexts
> in general, not only arrays:
>
> wooledg:~$ echo $((~0))
> bash: /home/wooledg: syntax error: operand expected (error token is "/home/wooledg")

This has been fixed in bash 5.0.

> It appears that bash is performing tilde expansion when there's no
> whitespace in front of the tilde, or bitwise negation if there is
> whitespace.

POSIX says that arithmetic expressions are not subject to tilde
expansion.  IMHO bash shouldn't do that either for indexed array
subscripts, since they are arithmetic expressions.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

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


Thread

Re: Error on arithmetic evaluation of `~0`. Andreas Schwab <schwab@suse.de> - 2018-12-20 14:46 +0100

csiph-web