Hacker News new | ask | show | jobs
by Hello71 2954 days ago
speaking of true --help, did you know that GNU true can exit non-zero? the exact way is left as an exercise to the reader :)

(if you're actually trying it at home, remember that "true" is virtually always a builtin. AFAIK there is no legitimate way to have shell builtin true return non-zero. (overwriting the command doesn't count :P))

1 comments

Huh. The reply link appeared.

Anyway, yeah, there's a commented line mentioning that:

    /* Note true(1) will return EXIT_FAILURE in the
       edge case where writes fail with GNU specific options.  */
    atexit (close_stdout);
Makes sense. If you:

    $ /bin/true --version >& -
it fails because it was not able to write what you asked it to stdout.
By specification it should not print anything or fail in any way http://pubs.opengroup.org/onlinepubs/9699919799/utilities/tr... .