On Thu, Jul 16, 2026 at 04:42:52PM +0700, Robert Elz wrote:
>     Date:        Thu, 16 Jul 2026 09:32:47 +0200
>     From:        [email protected]
> 
>   | Ash Brad explained, it can't be an external program, 
>   | and therefore it never was.
> 
> Actually, POSIX used to require that there be one.   So some
> systems would have had such a thing.

Yup. E.g. today FreeBSD still has a few things like

$ cat /usr/bin/cd
#!/bin/sh
# This file is in the public domain.
builtin ${0##*/} ${1+"$@"}

A few others, like /usr/bin/umask, are similar.

Some Linuxes have it too, e.g. Red Hat-flavored Alma Linux 9 has

$ cat /usr/bin/cd
#!/usr/bin/sh
builtin cd "$@"

> As has been explained,
> it was useless, but it met some bizarre philosophy of how any
> shell builtin utilities were to be located, in case some user
> wanted to create their own version of the builtin to replace
> it - which almost (but not really) makes some sense for things
> like echo, printf, test, etc - even true & false - but it makes
> no sense at all for things like cd, umask, ulimit, wait, ...
> 
> POSIX finally woke up (a little) in the more recent (2024) version
> of the standard, and requiring there to be a filesystem version
> of absoutely every shell (non-special) builtin has gone now.

Reply via email to