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.
The manual pages
- Solnix: true(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: true(1) coreutils-full-9.11
- FreeBSD: true(1) 15.1-RELEASE
- OpenBSD: true(1) 8.0
- NetBSD: true(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
true
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 with | Topic | What differs |
|---|---|---|
| Linux | options and arguments | Linux 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, NetBSD | options | Solnix, 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, NetBSD | page covers false | The 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, OpenBSD | shell builtins | The 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, NetBSD | EXIT STATUS section | Solnix 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 |
| Linux | implementation | Linux 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
--helpand--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.