type(1) on Solnix vs Linux and the BSDs
On Solnix, type is a standalone illumos utility at /usr/bin/type that reports how each name would be interpreted as a command. The FreeBSD page is not a type manual: it is an index of shell built-ins, and it lists type as a built-in of sh(1) only, with an external script wrapper.
The manual pages
- Solnix: type(1) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: type(1) 15.1-RELEASE
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
type
What Solnix runs
A default Solnix system runs the illumos type at /usr/bin/type. /usr/xpg4/bin/type is also shipped, but the bundle does not say how it differs. The Solnix page also says a shell built-in version of type exists that is similar to the utility; it does not say which shells provide it. The bundle has no Linux, OpenBSD or NetBSD counterpart pages, so nothing is claimed about those systems.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD | what the FreeBSD page documents | The FreeBSD page named type(1) has the NAME 'builtin, keybinds' and is an index of csh(1) and sh(1) built-ins and key bindings. It has no type synopsis, operands, environment or exit status. Solnix type(1) documents all of these. Source: FreeBSD type(1) NAME, SYNOPSIS, DESCRIPTION; Solnix type(1) SYNOPSIS, OPERANDS, ENVIRONMENT VARIABLES, EXIT STATUS |
| FreeBSD | standalone utility vs built-in | Solnix ships type as a standalone utility (/usr/bin/type). On FreeBSD the table marks type 'No*' under Standalone: an external file exists but is a script that uses the shell built-in of the same name.Source: Solnix type(1) DESCRIPTION; FreeBSD type(1) Commands table (type: No*) and the No* footnote |
| FreeBSD | which shells have type | On FreeBSD, type is a built-in of sh(1) and is marked No for csh(1). The Solnix page says a shell built-in version exists but does not name the shells. Source: FreeBSD type(1) Commands table (type: csh No, sh Yes); Solnix type(1) DESCRIPTION |
| FreeBSD | output classification | Solnix type identifies each name as a shell built-in, function, alias, hashed command or keyword, and may print a path name. The FreeBSD page does not describe type's output format. Source: Solnix type(1) DESCRIPTION; FreeBSD type(1) (no output description) |
| FreeBSD | PATH and locale variables | Solnix type uses PATH to determine the location of name, and honours LANG, LC_ALL, LC_CTYPE, LC_MESSAGES and NLSPATH. The FreeBSD page lists no environment variables for type. Source: Solnix type(1) ENVIRONMENT VARIABLES; FreeBSD type(1) (no ENVIRONMENT section for type) |
| FreeBSD | exit status | Solnix type exits 0 on success and >0 on error, with no finer values documented. The FreeBSD page gives no exit status for type. Source: Solnix type(1) EXIT STATUS; FreeBSD type(1) (not documented) |
| FreeBSD | options | Solnix type takes only name operands (type name...) and no options. The FreeBSD page shows no type options either, and the extracted option lists for both are empty. Neither page documents option-based behaviour. Source: Solnix type(1) SYNOPSIS; FreeBSD type(1) SYNOPSIS |
Standards
- POSIX: type is a POSIX.1-2024 utility.
- Solnix: Interface Stability: Standard. The SEE ALSO section points to standards(7).
- FreeBSD: The FreeBSD page is a built-in index and states no standard for type.
Writing portable scripts
- Use only the form 'type name...' with no options, and test only for exit status 0 versus non-zero.
- Do not parse type's output text. The Solnix page says it may name a built-in, function, alias, hashed command, keyword or path, and the FreeBSD page does not describe the format.
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.