Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15004
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: Error on arithmetic evaluation of `~0`. |
| Date | 2018-12-29 10:46 -0600 |
| Organization | ITS, Case Western Reserve University |
| Message-ID | <mailman.6526.1546102281.1284.bug-bash@gnu.org> (permalink) |
| References | <CAFra36gW8Csu-84oRLV7QsR7PbiMYq6g7WnMktjfnrSdTys38g@mail.gmail.com> <25e8adf0-96d5-1e38-faea-e7620ba3f846@case.edu> <CAFra36gzzbJLjqt9OYtJUuJara3KR2+ew-Gj3y2mA2L4X8CRyw@mail.gmail.com> <fc279c3d-35f8-1afa-e515-bfcf2f3bed44@case.edu> <CAFra36htTMBLVXARod9FX__5GY_PXhZ9BJB-Tp5fdiMdGHDx2A@mail.gmail.com> |
On 12/28/18 11:26 PM, Bize Ma wrote:
> Chet Ramey (<chet.ramey@case.edu <mailto:chet.ramey@case.edu>>) wrote:
>
> On 12/23/18 12:01 PM, Bize Ma wrote:
>
> {…}
>
> > Both command line above should have printed "hello".
>
> No. 0 is the only valid subscript for a non-array variable. The difference
> between bash and other shells that implement this feature is that bash
> warns about negative subscripts.
>
>
> If you say so: fine for me.
>
> It still irks me a little that a `${var[-1]}` isn't the "last value"
> (sometimes!, consistency?).
The goal is not to make non-array variables look exactly like array
variables; the goal is to provide a little bit of syntactic sugar in
the rare case that it's useful. It's the analog to referencing an array
variable without using a subscript, which references element 0.
> I haven't seen that documented anywhere, though.
Which part? The fact that non-array variables can be referenced using
subscript 0?
--
``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 | Unroll thread
Re: Error on arithmetic evaluation of `~0`. Chet Ramey <chet.ramey@case.edu> - 2018-12-29 10:46 -0600
csiph-web