true(1) on Solnix vs Linux and the BSDs

On Solnix, true is the illumos /usr/bin/true. It takes no arguments and exits 0, and its page also documents false. The one difference that matters for a Linux user is that the Solnix page lists no options, while the Linux coreutils page documents --help and --version.

What Solnix runs

A default Solnix system runs the illumos true at /usr/bin/true. No other variants are shipped. The page is shared with false(1), whose exit status is documented as a non-zero value from 1 to 125.

Differences

Compared withTopicWhat differs
Linuxoptions and argumentsLinux coreutils true documents --help and --version, and says other command-line arguments are ignored. The Solnix page documents no options and gives the synopsis as plain 'true'. Do not rely on --help or --version on Solnix.
Source: Linux true(1) SYNOPSIS, DESCRIPTION (--help, --version); Solnix true(1) SYNOPSIS
FreeBSD, OpenBSD, NetBSDoptionsSolnix, FreeBSD, OpenBSD and NetBSD all give the synopsis as plain 'true' with no options. They do not differ on this point.
Source: Solnix, FreeBSD, OpenBSD and NetBSD true(1) SYNOPSIS
FreeBSD, OpenBSD, NetBSDpage covers falseThe Solnix page documents true and false together. It gives the false exit status as a non-zero value from 1 to 125 inclusive. The FreeBSD, OpenBSD and NetBSD true pages only refer to false(1) in SEE ALSO.
Source: Solnix true(1) NAME, EXIT STATUS; FreeBSD, OpenBSD, NetBSD true(1) SEE ALSO
Linux, FreeBSD, OpenBSDshell builtinsThe Linux page says a shell's own true usually supersedes the standalone one. The FreeBSD page says a builtin is identical to the utility. The OpenBSD page says true is also a ksh(1) builtin. The Solnix page says nothing about builtins.
Source: Linux true(1) DESCRIPTION; FreeBSD true(1) DESCRIPTION; OpenBSD true(1) STANDARDS; Solnix true(1) DESCRIPTION
Linux, FreeBSD, NetBSDEXIT STATUS sectionSolnix and OpenBSD have a separate EXIT STATUS section stating that true exits 0. The Linux, FreeBSD and NetBSD pages state exit 0 only in the DESCRIPTION. The behaviour is the same on all of them.
Source: Solnix true(1) EXIT STATUS; OpenBSD true(1) EXIT STATUS; Linux true(1) DESCRIPTION; FreeBSD true(1) DESCRIPTION; NetBSD true(1) DESCRIPTION
LinuximplementationLinux true is GNU coreutils (the page is for coreutils-full-9.11). Solnix true is the illumos implementation, so the two are different programs.
Source: Linux true(1) SEE ALSO (coreutils); Solnix true(1) header (illumos)

Standards

  • POSIX: true is a POSIX.1-2024 utility.
  • Solnix: INTERFACE STABILITY: true and false are Committed.
  • FreeBSD: The true utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.
  • OpenBSD: The true utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.
  • NetBSD: The true utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”).
  • Linux: The Linux page has no STANDARDS section.

Writing portable scripts

  • Call true with no arguments. Only the Linux coreutils page documents --help and --version.
  • For an endless loop, use 'while true; do ... done' as the Solnix page shows. It works on all four counterparts, whether true is a builtin or /usr/bin/true.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.