[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFE: printf '%(fmt)T' prints current time by default
From: |
Chet Ramey |
Subject: |
Re: RFE: printf '%(fmt)T' prints current time by default |
Date: |
Fri, 14 Dec 2012 09:57:11 -0500 |
> > I think the ksh behavior is makes more sense so can we use the current time
> > as the default?
> >
> > -Clark
>
> I agree that a null or empty argument as equivalent to -1 is a better
> default.
> "0" is identical to the current behavior for empty/unset, so no functionality
> is lost.
That's not unreasonable. The current default is what Posix specifies for
printf:
Any extra c or s conversion specifiers shall be evaluated as if a null
string argument were supplied; other extra conversion specifications
shall be evaluated as if a zero argument were supplied.
> Additionally, an empty format in ksh is equivalent to the date(1) default for
> the current locale. So, LC_TIME=C; [[ $(printf '%()T') == "$(date)" ]] is
> true.
Bash uses the strftime '%X' conversion, which is described as the
"locale's appropriate time representation."
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
- Re: RFE: printf '%(fmt)T' prints current time by default,
Chet Ramey <=