bash(1) on Solnix vs Linux and the BSDs

Solnix ships GNU bash, and the Solnix bash(1) page documents the same options as the Linux page, so bash behaves the same on both. The bundle has no FreeBSD, OpenBSD or NetBSD bash page, so it supports no comparison with the BSDs.

What Solnix runs

A default Solnix system runs bash from the base system packages; the page is published by pkgs.solnix.bash. No other variants are shipped. The bundle does not say which bash version Solnix ships. The Linux page is from bash-interactive-5.3p9.

Differences

Compared withTopicWhat differs
Linuxsame programSolnix and Linux both run GNU bash with the same SYNOPSIS and the same invocation options: -c, -i, -l, -r, -s, -D, [-+]O, --posix, --norc, --noprofile, --rcfile, --init-file, --restricted and the rest. Option behaviour in the OPTIONS sections matches.
Source: Solnix bash(1) SYNOPSIS, OPTIONS; Linux bash(1) SYNOPSIS, OPTIONS
FreeBSD, OpenBSD, NetBSDno BSD page to compareThe bundle contains no bash(1) page from FreeBSD, OpenBSD or NetBSD. The manual text supplied does not say whether bash is installed by default on those systems, or how their default shell differs. Do not assume bash is present there.
Source: Bundle header (only COUNTERPART linux listed)
Linuxenvironment removal wordingThe Linux ENVIRONMENT section says pairs can be removed from the inherited environment by unset or export -n. The Solnix section names only unset. The Solnix page does not document export -n here, though the program is the same bash.
Source: Solnix bash(1) ENVIRONMENT; Linux bash(1) ENVIRONMENT
Linux-- argument wordingThe Linux page says arguments after -- are a shell script filename and its arguments. The Solnix page says only 'filenames and arguments'. Both say an argument of - is equivalent to --.
Source: Solnix bash(1) OPTIONS (--); Linux bash(1) OPTIONS (--)
Linuxposix mode descriptionBoth pages document --posix and say bash can be configured to be POSIX-conformant by default. The Solnix --posix entry refers to SEE ALSO for how posix mode changes behaviour. The Linux page explains posix mode in its DESCRIPTION. The bundle does not say whether either build is POSIX by default.
Source: Solnix bash(1) DESCRIPTION, --posix; Linux bash(1) DESCRIPTION, --posix
Linuxexit statusExit status rules are the same in the visible Solnix text: 127 for command not found, 126 for found but not executable, 128+N for death by signal N, and 2 from builtins for incorrect usage. The Linux EXIT STATUS section is trimmed from the bundle, so it was not compared.
Source: Solnix bash(1) EXIT STATUS; Linux bash(1) (section not in bundle)

Standards

  • POSIX: bash is not a POSIX.1-2024 utility.
  • Solnix: The page says bash is intended to be a conformant implementation of the Shell and Utilities portion of the IEEE POSIX specification (IEEE Standard 1003.1), and can be configured to be POSIX-conformant by default; --posix selects posix mode.
  • Linux: The page gives the same intent: a conformant implementation of the Shell and Utilities portion of the IEEE POSIX specification (IEEE Standard 1003.1). Posix mode changes behaviour where the default differs from the standard.

Writing portable scripts

  • Between Solnix and Linux, bash scripts and the invocation options in the OPTIONS sections can be treated as the same. Do not assume bash exists on a BSD without checking, because the bundle has no BSD page.
  • If a script must follow the POSIX standard, run it with --posix or set posix mode explicitly instead of relying on how a given build is configured.

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.