A tangential question, not addressed by the article: why is "true" now implemented as a binary written in C?
As expected, the GNU version is comically large[1], but even the "suckless" version is a compiled binary[2].
I'd guess that nowadays "true" is usually a shell builtin. Are there circumstances where the actual /bin/true gets called and that the overhead of forking off a shell to run it (the empty shell script) is too much?
2 comments
[ 3.4 ms ] story [ 18.8 ms ] threadAs expected, the GNU version is comically large[1], but even the "suckless" version is a compiled binary[2].
I'd guess that nowadays "true" is usually a shell builtin. Are there circumstances where the actual /bin/true gets called and that the overhead of forking off a shell to run it (the empty shell script) is too much?
[1] https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/tru...
[2] https://git.suckless.org/sbase/file/true.c.html
Not that I can think, off the top of my head, of any real world circumstance where a program would need to execute /bin/true