On Mon, Nov 18, 2024 at 11:45:53AM +0100, Yassine Chaouche wrote:
So, why keep them separate? Is this about some old Unix tradition? an optimization somewhere somehow?
Because gnu policy is command behavior to not be dependent on the name of the binary. Historically gnu utilities were often coinstalled with vendor utilities, using a g- prefix (e.g., gmake), and having a syntax change as a side effect of a name change was/is undesirable. There's no good reason to combine the utilities, as the savings is only a few
kbytes on a modern system measured in gigabytes if not terabytes.In practice, neither bin/test nor bin/[ are used much on a modern system--your shell almost certainly has a built-in version which takes precedence in most situations.