tee(1) on Solnix vs Linux and the BSDs

On Solnix, tee is the illumos /usr/bin/tee, which supports -a and -i like the BSDs and Linux. The ksh93 built-in adds -l and long options, and Linux tee adds -p and --output-error, which Solnix lacks.

What Solnix runs

A default Solnix system runs the illumos /usr/bin/tee, which accepts only -a and -i. The page also documents a ksh93 built-in tee, used when tee is run without a path prefix and the path search finds /bin/tee or /usr/bin/tee. It adds -l/--line-buffer and the long forms --append and --ignore-interrupts. No other variants are shipped.

Differences

Compared withTopicWhat differs
Linux-p and --output-errorLinux (GNU) tee has -p and --output-error[=MODE] to set behaviour on write errors. The Solnix /usr/bin/tee and the ksh93 built-in document neither option. Linux without them exits immediately on a write error to a pipe and diagnoses errors on non-pipe outputs.
Source: Linux tee(1) -p, --output-error, MODE; Solnix tee(1) SYNOPSIS and OPTIONS
all four-l line buffering (ksh93 built-in)The Solnix ksh93 built-in tee has -l/--line-buffer to line-buffer standard output. Linux, FreeBSD, OpenBSD and NetBSD tee have no such option, and /usr/bin/tee on Solnix does not either.
Source: Solnix tee(1) OPTIONS, ksh93 (-l, --line-buffer); Linux/FreeBSD/OpenBSD/NetBSD tee(1) OPTIONS
FreeBSD, OpenBSD, NetBSDlong optionsOnly the Solnix ksh93 built-in and Linux tee have long options (--append, --ignore-interrupts). The FreeBSD, OpenBSD and NetBSD pages document only -a and -i. /usr/bin/tee on Solnix also has short options only.
Source: Solnix tee(1) OPTIONS, ksh93; Linux tee(1) DESCRIPTION; FreeBSD/OpenBSD/NetBSD tee(1) SYNOPSIS
all fourexit statusSolnix /usr/bin/tee returns the number of files that could not be opened or whose status could not be obtained. FreeBSD, OpenBSD and NetBSD document only 0 on success and >0 on error. The Linux page gives no exit status section. Test for non-zero, not for a specific value.
Source: Solnix tee(1) EXIT STATUS, /usr/bin/tee; FreeBSD/OpenBSD/NetBSD tee(1) EXIT STATUS; Linux tee(1)
FreeBSD, OpenBSD, NetBSDwrite failure to one fileThe Solnix ksh93 built-in page says that if a write to a file fails, tee continues to write to the other files but exits non-zero. The BSD pages do not describe this behaviour.
Source: Solnix tee(1) DESCRIPTION, ksh93; FreeBSD/OpenBSD/NetBSD tee(1) DESCRIPTION
LinuxbufferingSolnix, FreeBSD, OpenBSD and NetBSD pages state that tee does not buffer its output. The Linux page does not say this.
Source: Solnix tee(1) DESCRIPTION; FreeBSD/OpenBSD/NetBSD tee(1) DESCRIPTION; Linux tee(1) DESCRIPTION
FreeBSDunix socketsFreeBSD tee may also write to unix(4) sockets. The Solnix, Linux, OpenBSD and NetBSD pages do not mention this.
Source: FreeBSD tee(1) DESCRIPTION; Solnix tee(1) DESCRIPTION
all fourfile operand limit and large filesSolnix documents support for at least 13 file operands, limited by the underlying system, and refers to largefile(7) for files of 2 Gbyte or more. The other pages state no operand limit.
Source: Solnix tee(1) OPERANDS, USAGE; Linux/FreeBSD/OpenBSD/NetBSD tee(1)

Standards

  • POSIX: tee is a POSIX.1-2024 utility.
  • Solnix: ATTRIBUTES: /usr/bin/tee Interface Stability is Committed, Standard: see standards(7). The ksh93 built-in binding to /bin and /usr/bin is Volatile and the built-in interfaces are Uncommitted.
  • FreeBSD: The tee utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.
  • OpenBSD: The tee utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.
  • NetBSD: The tee function is expected to be POSIX IEEE Std 1003.2 (“POSIX.2”) compatible.

Writing portable scripts

  • Use only tee -a and tee -i in portable scripts. Every system in the bundle documents both.
  • Do not rely on -p, --output-error, -l or the long options, and do not depend on a specific non-zero exit value.

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.