Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Sep 2012 10:09:02 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        stable@freebsd.org
Subject:   /bin/sh arithmetic doesn't seem to like leading 0 now
Message-ID:  <20120921170902.GC28959@albert.catwhisker.org>

next in thread | raw e-mail | index | archive | help

--HG+GLK89HZ1zG0kk
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

I have a construct in a shell script that I had been using under
stable/8 (most recently, @r240259), but which throws an error under
stable/9 (at least as early as @r238602):

$ echo $(( ( $( date +%m ) - 1 ) / 3 + 1 ))
3
$ uname -r
8.3-PRERELEASE

$ echo $(( ( $( date +%m ) - 1 ) / 3 + 1 ))
arithmetic expression: expecting ')': " ( 09 - 1 ) / 3 + 1 "
$ uname -r
9.1-PRERELEASE

Trying bits & pieces of the above, I narrowed the issue down to:

$ echo $(( 09 + 0 ))
arithmetic expression: expecting EOF: " 09 + 0 "

while

$ echo $(( 9 + 0 ))
9
$=20

is not a problem.

Is this intentional?

(I can work around it -- e.g., by using sed to strip leading 0 from the
month number (since strftime() doesn't appear to have a format that
provides the value in a form that lacks the leading zero for values <
10).  But I'd rather not do that if I don't need to.)

Thanks!

Peace,
david
--=20
David H. Wolfskill				david@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

--HG+GLK89HZ1zG0kk
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlBcny4ACgkQmprOCmdXAD0Y5QCghiCMxA8YqssEHo0tNQs9AUwq
RIEAnixWPy52qwvII/RJokyOexuNH7IG
=hjRg
-----END PGP SIGNATURE-----

--HG+GLK89HZ1zG0kk--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120921170902.GC28959>