Jak wskazano w tekście, wystarczy odwołać się (np. Przez $VARNAMElub ${VARNAME}) do zmiennych, jak w zwykłym poleceniu powłoki. Musisz jednak upewnić się, że powłoka nie rozwinie ich wcześniej.
Oto kilka przykładów ilustrujących to (zakładając export FOO=BAR):
$ echo '$FOO$FOO2' | envsubst
BAR
Jak widać, $ FOO2 został zastąpiony przez „”, ponieważ nie został zdefiniowany. Teraz możemy ograniczyć tę wymianę tylko do $ FOO poprzez:
$ echo '$FOO$FOO2' | envsubst '$FOO'
BAR$FOO2
użycie ""zamiast ''prowadziłoby do podstawienia, zanim będzie potrzebne:
echo '$FOO$FOO2' | envsubst "$FOO"
$FOO$FOO2
(Jest to skuteczne wywołanie, envsubst "BAR"które nie wykrywa żadnych zmiennych, więc żadne nie są zastępowane).
Jak mannapisano na stronie, wszystkie zmienne, do których istnieją odwołania, SHELL-FORMATsą zastępowane, więc możemy nawet to zrobić:
echo '$FOO$FOO2$FOO3' | envsubst '$FOO some more text ${FOO3}'
BAR$FOO2
Jak widać, SHELL-FORMATjest dość elastyczny.
Na koniec parametr --variablespozwala ocenić, które zmienne są wybrane do podstawienia przez SHELL-FORMAT:
envsubst --variables '$FOO some more text ${FOO3}'
FOO
FOO3
W powyższym przykładzie przedwczesnego zastąpienia pokazałby błąd:
$ envsubst --variables "$FOO"
(empty string returned)
Jak podano na stronie man, envsubstnie przetwarza żadnego standardowego wejścia, jeśli --variablesjest obecne.