/bin/sh arithmetic doesn't seem to like leading 0 now
David Wolfskill
david at catwhisker.org
Fri Sep 21 17:09:03 UTC 2012
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
$
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
--
David H. Wolfskill david at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20120921/1b5e53e5/attachment.pgp
More information about the freebsd-stable
mailing list