On Thursday 22 February 2007 21:13, Dan Nicholson wrote:
> On 2/22/07, Matthew Burgess <[EMAIL PROTECTED]> wrote:
> > On Thursday 22 February 2007 19:05, Dan Nicholson wrote:
> > > The problem with using printf is that POSIX doesn't say that it needs
> > > to be a builtin (although it is in dash) and the coreutils executable
> > > is in /usr/bin.
> >
> > Well, I think that POSIX does state that printf should be a builtin.
> > There are codes that appear in a utility's Synopsis section, which
> > determine whether it is optional or mandatory. Compare, for example, the
> > specifications of 'admin' and 'alias' to those of 'echo' and 'printf'. (I
> > don't want to paste links as free registration is preferred by The Open
> > Group).
>
> Could you send me the link off-list? I'm registered, but I can't find
> this part. I might be looking at the wrong doc, too.
After re-reading the docs, it's pretty clear that I actually misread them
earlier on. What they state is which utilities have to be available on a
system, and which are optional. It doesn't stipulate whether those utilities
have to be available as shell builtins or not.
As Dan also found out, posh doesn't have a builtin version of printf, but it
does have echo as a builtin. Given that there are no guarantees that either
echo or printf will be available as a builtin, or whether they'll be POSIX
compliant, it looks like a run-time check is the only safe way of ensuring
our output will be sane. Dan, if you could apply your ${ECHO} patch along
with the others you posted that'd be great!
Matt
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page