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.
The manual pages
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 with | Topic | What differs |
|---|---|---|
| Linux | same program | Solnix 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, NetBSD | no BSD page to compare | The 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) |
| Linux | environment removal wording | The 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 wording | The 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 (--) |
| Linux | posix mode description | Both 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 |
| Linux | exit status | Exit 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;
--posixselects 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
--posixor 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.