Như được chỉ ra bởi văn bản, bạn chỉ cần tham chiếu (ví dụ: $VARNAME
hoặc ${VARNAME}
) các biến như trong lệnh shell thông thường. Tuy nhiên, bạn phải chắc chắn rằng vỏ không mở rộng chúng trước.
Dưới đây là một số ví dụ để minh họa điều này (giả sử export FOO=BAR
):
$ echo '$FOO$FOO2' | envsubst
BAR
Như bạn có thể thấy, $ FOO2 đã được thay thế bằng "" vì nó không được xác định. Bây giờ chúng tôi có thể giới hạn thay thế đó chỉ $ FOO bằng cách:
$ echo '$FOO$FOO2' | envsubst '$FOO'
BAR$FOO2
sử dụng ""
thay vì ''
sẽ dẫn đến thay thế trước khi nó muốn:
echo '$FOO$FOO2' | envsubst "$FOO"
$FOO$FOO2
(Số tiền này cho cuộc gọi hiệu quả envsubst "BAR"
giúp phát hiện không có biến nào nên không có biến nào được thay thế.)
Như trang đã man
nói, tất cả các biến được tham chiếu trong SHELL-FORMAT
được thay thế, vì vậy chúng tôi thậm chí có thể làm điều này:
echo '$FOO$FOO2$FOO3' | envsubst '$FOO some more text ${FOO3}'
BAR$FOO2
Như bạn có thể thấy, SHELL-FORMAT
khá linh hoạt.
Cuối cùng, tham số --variables
cho phép bạn đánh giá biến nào được chọn để thay thế bằng SHELL-FORMAT
:
envsubst --variables '$FOO some more text ${FOO3}'
FOO
FOO3
Trong ví dụ thay thế sớm từ phía trên, điều này sẽ cho thấy lỗi:
$ envsubst --variables "$FOO"
(empty string returned)
Như đã nêu trong man
-page, envsubst
không xử lý bất kỳ stdinput nào khi --variables
có mặt.