bug-bash
[Top][All Lists]
Advanced

[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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]