envsubst — substitutes environment variables in shell format strings
Examples (TL;DR)
-
Replace environment variables in
stdin
and output tostdout
:echo '$HOME' | envsubst
-
Replace environment variables in an input file and output to
stdout
:envsubst < path/to/input_file
-
Replace environment variables in an input file and output to a file:
envsubst < path/to/input_file > path/to/output_file
-
Replace environment variables in an input file from a space-separated list:
envsubst '$USER $SHELL $HOME' < path/to/input_file
Synopsis
envsubst [OPTION] [SHELL-FORMAT]
Description
Substitutes the values of environment variables.
Operation mode
- -v, --variables
output the variables occurring in SHELL-FORMAT
Informative output
- -h, --help
display this help and exit
- -V, --version
output version information and exit
In normal operation mode, standard input is copied to standard output, with references to environment variables of the form $VARIABLE or ${VARIABLE} being replaced with the corresponding values. If a SHELL-FORMAT is given, only those environment variables that are referenced in SHELL-FORMAT are substituted; otherwise all environment variables references occurring in standard input are substituted.
When --variables is used, standard input is ignored, and the output consists of the environment variables that are referenced in SHELL-FORMAT, one per line.
Reporting Bugs
Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>.
Copyright
Copyright © 2003-2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
The full documentation for envsubst is maintained as a Texinfo manual. If the info and envsubst programs are properly installed at your site, the command
info envsubst
should give you access to the complete manual.