builtin(1) on Solnix vs Linux and the BSDs

On Solnix, builtin is the ksh93 command that adds, deletes or lists the shell's built-in commands, with options -d, -f and -s. The FreeBSD builtin(1) page is only an index table of csh(1) and sh(1) built-ins and documents no options, so ksh93 builtin usage does not carry over.

What Solnix runs

There is no separate binary on a default Solnix system. builtin is a shell built-in, and the published page describes the ksh93 one. No other illumos variants are shipped. The manual does not say whether the sh or csh on Solnix accept the same options.

Differences

Compared withTopicWhat differs
FreeBSDwhat the page documentsSolnix builtin(1) documents a ksh93 command: builtin [-ds] [-f lib] [pathname ...]. FreeBSD builtin(1) is an index of csh(1) and sh(1) built-ins and keybindings. Its SYNOPSIS only says to see the shell's manual.
Source: Solnix builtin(1) SYNOPSIS, DESCRIPTION; FreeBSD builtin(1) NAME, SYNOPSIS, DESCRIPTION
FreeBSDoptionsSolnix builtin takes -d (delete), -f lib (load a shared library) and -s (list only special built-ins). The FreeBSD page lists no options. It records only that builtin exists as an sh(1) built-in, and the page does not say what it does.
Source: Solnix builtin(1) OPTIONS -d, -f, -s; FreeBSD builtin(1) Commands table (builtin: sh(1) Yes, csh(1) No)
FreeBSDadding built-ins at run timeOn Solnix, builtin pathname adds a built-in by looking for a C function named b_ plus the basename. With -f lib it loads a shared library on systems with dynamic linking. The FreeBSD page describes no way to add or remove built-ins.
Source: Solnix builtin(1) DESCRIPTION, -f lib; FreeBSD builtin(1) DESCRIPTION
FreeBSDlisting built-insWith no operand, Solnix builtin prints the current built-ins, or only the special ones with -s. Built-ins bound to a pathname are shown with the full path. The FreeBSD page is a static table, and it lists a separate csh(1) command named builtins without describing it.
Source: Solnix builtin(1) DESCRIPTION, -s; FreeBSD builtin(1) Commands table (builtins: csh(1) Yes)
FreeBSDpath search orderOn Solnix, a built-in bound to a pathname runs only if that pathname is the first executable found in the path search. Other built-ins are found before the path search. The FreeBSD page does not describe lookup order.
Source: Solnix builtin(1) DESCRIPTION; FreeBSD builtin(1) DESCRIPTION
FreeBSDdeleting and restrictionsSolnix builtin -d deletes built-ins, but special built-ins cannot be deleted. builtin cannot be run from a restricted shell. The FreeBSD page documents neither.
Source: Solnix builtin(1) OPTIONS -d, DESCRIPTION (last paragraph); FreeBSD builtin(1)
FreeBSDstandalone copies of built-insThe FreeBSD page marks which built-ins also exist as standalone utilities, and which (No*) are external scripts that use the built-in of the same name. The Solnix page has no such table and says nothing about external copies.
Source: FreeBSD builtin(1) Commands table and No* note; Solnix builtin(1)
FreeBSDexit statusSolnix builtin exits 0 on success and >0 on error. The FreeBSD page documents no exit status.
Source: Solnix builtin(1) EXIT STATUS; FreeBSD builtin(1)

Everyday tasks

TaskSolnixFreeBSD
list the shell's built-insbuiltinread the table in builtin(1); the csh(1) builtins command is listed but not described
list only special built-insbuiltin -s—
delete a built-inbuiltin -d name—
load built-ins from a shared librarybuiltin -f lib—

Standards

  • POSIX: builtin is not a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Uncommitted.

Writing portable scripts

  • Do not use builtin -d, -f or -s in portable scripts. They are documented only for the ksh93 builtin on Solnix, and the FreeBSD page describes no options.
  • To test whether a name is a built-in, do not rely on builtin. Use a mechanism the target shell's manual documents.

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.