Bug 431350 - error using date in bash
error using date in bash
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: bash (Show other bugs)
8
i386 Linux
low Severity low
: ---
: ---
Assigned To: Tomas Janousek
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-03 04:56 EST by vikram goyal
Modified: 2008-02-04 11:38 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-02-04 11:38:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description vikram goyal 2008-02-03 04:56:45 EST
Description of problem:


Version-Release number of selected component (if applicable):
bash-3.2-20.fc8
coreutils-6.9-12.fc8

How reproducible:


Steps to Reproduce:
1.TEST=8
2.echo $(($(echo $TEST)-1)) - executes
3.echo $(($(date +'%H')-1)) - executes
4.echo $(($(date +'%y')-1)) - error
5.echo $(($(date +'%m')-1)) - same error if month is AUGUST

Actual results:
bash: 08: value too great for base (error token is "08")

Expected results:
In the year 2008, the answer should be 7

Additional info:
The problem could be in date or bash.
The problem is long standing, maybe about 3-4 year. Had reported earlier also, a
long time back.
Comment 1 Tomas Janousek 2008-02-04 04:46:36 EST
Is there any documentation that would suggest this is a violation of some
standard or something? bash interprets numbers beginning with zero as octal
numbers. The date manpage says that when using the '-' flag, numbers are not
zero-padded.

The following commands work:
> echo $(($(date +'%-y')-1))
> echo $(($(date +'%-m')-1))

May I close this notabug?
Comment 2 vikram goyal 2008-02-04 11:31:10 EST
You are right. My bad. Sorry for bothering you. I never came to understand the
error message as it was not clear enough. But one thing is still unclear, why
does it happen when the output is 08 only. The command runs without error if
output is less than 08 or ( as far as  remember ) above 10, I think.

You may of course close the bug except that one issue.
Comment 3 Tomas Janousek 2008-02-04 11:38:04 EST
Well, 07 is a valid octal number, right? And 10 is not interpreted as octal,
obviously.

Note You need to log in before you can comment on or make changes to this bug.