tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: X=1 :



> There are two weird things with this list:
sh is definitively weird in places.

>     : doesn't need to be a special built-in at all. It can be
>     implemented perfectly well the same as /usr/bin/true.
But it's defined to be a special built-in.
(As an aside, true is a built-in -- see 2.9.1 1.d.)

>     cd is missing, yet it can't possibly be implemented externally.
cd is a built-in, but not a special built-in.

> So I suppose I would amend my proposal to do this in the more sensible
> way, and make cd special, and : not special.
This would violate POSIX.

There's a strange hierarchy special built-in utitility -- built-in utitility 
-- utitility implemented as a built-in.

If you implement a utility (say echo) as a built-in, well, it's a utility 
implemented as a built-in and just behaves as if it weren't. 2.9.1. 1.e.i.a 
even specifies that the built-in is not found when there's no such file in 
PATH.

(special) built-in utilities must be built in. You're no allowed to implement 
them externally.

What the reason for some of the built-ins to be special and some not I never 
understood. KRE, can you shed some light on this?


Home | Main Index | Thread Index | Old Index