alias(1) on Solnix vs Linux and the BSDs

On a default Solnix system, alias and unalias exist as standalone utilities at /usr/bin/alias and /usr/bin/unalias, and the page also documents the csh, ksh and ksh93 built-ins, whose syntax differs. The FreeBSD and NetBSD pages in the bundle are shell built-in indexes or the csh page, not alias descriptions, so most comparison is against what those pages do not say.

What Solnix runs

A default Solnix system runs the illumos alias at /usr/bin/alias (and /usr/bin/unalias). /usr/xpg4/bin/alias is also shipped. The bundle does not say how it differs. The page also documents the csh, ksh and ksh93 built-in forms, which behave differently from /usr/bin/alias and from each other. No Linux counterpart page is in the bundle.

Differences

Compared withTopicWhat differs
FreeBSDwhat the counterpart page isThe FreeBSD alias(1) page is the builtin(1) index of csh(1) and sh(1) built-ins. It has no description of alias options, operands or output. Solnix has a full alias/unalias page.
Source: FreeBSD alias(1) NAME, DESCRIPTION; Solnix alias(1) DESCRIPTION, OPERANDS
NetBSDwhat the counterpart page isThe NetBSD alias(1) page in the bundle is the csh(1) page. Its visible text does not mention alias or unalias, so the manual excerpt gives nothing to compare for alias syntax.
Source: NetBSD alias(1) NAME, SYNOPSIS (csh)
FreeBSDstandalone utility vs scriptSolnix lists /usr/bin/alias and /usr/bin/unalias as standalone commands. FreeBSD marks alias and unalias 'No*': they exist externally, but only as scripts that use the shell builtin of the same name. Both are built into csh and sh.
Source: FreeBSD alias(1) Commands table (alias, unalias) and 'No*' note; Solnix alias(1) SYNOPSIS
FreeBSD, NetBSDdefinition syntax by shellOn Solnix the syntax depends on the shell: csh is 'alias name def' (no '='), ksh and ksh93 are 'alias name=value', and /usr/bin/alias takes 'alias-name=string'. The FreeBSD page only says csh and sh provide alias, and the NetBSD excerpt is silent.
Source: Solnix alias(1) SYNOPSIS (csh, ksh, ksh93); FreeBSD alias(1) Commands table
FreeBSD, NetBSDoptions on alias/usr/bin/alias takes no options. Solnix ksh alias accepts -t and -x, and ksh93 alias accepts -p, -t and -x. In ksh93, -x is ignored and -t is obsolete. The FreeBSD page documents no alias options and the NetBSD excerpt shows none.
Source: Solnix alias(1) SYNOPSIS, OPTIONS (ksh, ksh93); FreeBSD alias(1) Commands table
FreeBSD, NetBSDksh93 -p outputSolnix ksh93 alias -p prints definitions as alias commands that can be fed back to the shell to recreate them. The FreeBSD and NetBSD pages in the bundle document no equivalent.
Source: Solnix alias(1) OPTIONS ksh93 -p; FreeBSD alias(1); NetBSD alias(1)
FreeBSD, NetBSDunalias formsSolnix /usr/bin/unalias takes alias names or -a. Solnix csh unalias takes a filename-substitution pattern, so 'unalias *' removes all aliases. ksh93 unalias -a ignores any name operands. The BSD pages in the bundle do not describe unalias arguments.
Source: Solnix alias(1) SYNOPSIS, DESCRIPTION (csh, ksh93), OPTIONS (unalias -a)
FreeBSD, NetBSDalias scope and timingOn Solnix csh, an alias must have been entered on an earlier command line before it can be used. In ksh93, an alias only affects scripts read by the current shell environment, not scripts it runs. In ksh, exported aliases (-x) are defined for scripts invoked by name.
Source: Solnix alias(1) DESCRIPTION csh, ksh93, ksh
FreeBSD, NetBSDexit statusSolnix /usr/bin/alias exits >0 if an alias-name operand has no alias definition, or on error. Solnix ksh alias exits non-zero when a name is given without a value and no alias exists. The BSD pages in the bundle give no alias exit status.
Source: Solnix alias(1) EXIT STATUS, DESCRIPTION ksh; FreeBSD alias(1); NetBSD alias(1)

Standards

  • POSIX: alias is a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Committed (csh, ksh). Standard: see standards(7).

Writing portable scripts

  • In portable scripts, use only 'alias name=value' and 'unalias name', and do not rely on -p, -t or -x. They are ksh or ksh93 options, and the BSD pages in the bundle do not document them.
  • Do not use csh-style 'alias name def' in sh or ksh scripts. Solnix csh uses a space, while ksh, ksh93 and /usr/bin/alias use '='.

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.