envsubst(1) on Solnix vs Linux and the BSDs
envsubst is not in the Solnix base system: install pkgs.solnix.gettext to get it. The Solnix page is the GNU gettext-runtime envsubst page, and its text matches the Linux page. The bundle has no BSD counterpart pages.
The manual pages
- Solnix: envsubst(1) from
pkgs.solnix.gettext - Linux: envsubst(1) gettext-1.0
What Solnix runs
Not installed by default: add pkgs.solnix.gettext. The published page is from GNU gettext-runtime 0.22.5 (February 2024). The Linux page in the bundle is from GNU gettext-runtime 1.0 (January 2026). No other illumos variants are shipped.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program | Solnix and Linux both document GNU gettext envsubst, with the same synopsis, the same options (-v/--variables, -h/--help, -V/--version) and the same description. The only difference visible in the bundle is the gettext-runtime release (0.22.5 on Solnix, 1.0 on Linux).Source: Solnix envsubst(1) SYNOPSIS, DESCRIPTION, footer; Linux envsubst(1) SYNOPSIS, DESCRIPTION, footer |
| Linux | availability | envsubst is not in the Solnix base system and must be installed from pkgs.solnix.gettext. The Linux page does not say how Linux ships it, so the bundle does not show whether it is installed by default there. Source: Solnix bundle header (none: install pkgs.solnix.gettext); Linux envsubst(1) NAME |
| FreeBSD, OpenBSD, NetBSD | no BSD counterpart page | The bundle has no envsubst(1) page for FreeBSD, OpenBSD or NetBSD, so the manual cannot be used to say whether those systems ship it or how theirs behaves. Do not assume it is present. Source: Bundle header (only a linux COUNTERPART is listed) |
| Linux | substitution scope | Without SHELL-FORMAT, every $VARIABLE or ${VARIABLE} reference on standard input is replaced. With SHELL-FORMAT, only the variables referenced in that argument are replaced. Solnix and Linux pages say this identically. Source: Solnix envsubst(1) DESCRIPTION; Linux envsubst(1) DESCRIPTION |
| Linux | --variables mode | With -v/--variables, standard input is ignored and the variables referenced in SHELL-FORMAT are printed one per line. Both pages document this the same way.Source: Solnix envsubst(1) -v, --variables; Linux envsubst(1) -v, --variables |
Standards
- POSIX: envsubst is not a POSIX.1-2024 utility.
Writing portable scripts
- Check that envsubst exists (command
-venvsubst) before relying on it. It is not in the Solnix base system, and the bundle shows no BSD page for it. - Pass an explicit SHELL-FORMAT such as '$HOME $USER' to limit which variables are replaced. Without it, every variable reference on standard input is substituted.
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.