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.

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 withTopicWhat differs
Linuxsame programSolnix 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
Linuxavailabilityenvsubst 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, NetBSDno BSD counterpart pageThe 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)
Linuxsubstitution scopeWithout 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 modeWith -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

Writing portable scripts

  • Check that envsubst exists (command -v envsubst) 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.