envsubst sostituisce le variabili di ambiente in una stringa di shell o in uno script. Se utilizzato senza opzioni, copia stdin in stdout, sostituendo qualsiasi stringa di variabile di ambiente, come $VARIABLE o ${VARIABLE}, con il valore della variabile di ambiente appropriato. Quindi, "Il mio editor è $EDITOR" verrebbe convertito in "Il mio editor è /usr/bin/emacs". La specifica di un formato shell limita le sostituzioni a quelle variabili a cui si fa riferimento nel formato shell.
opzioni della riga di comando envsubst
Il comando envsubst ha pochissime opzioni come mostrato di seguito:
Opzione | Descrizione |
---|---|
-h, –help | Stampa il messaggio di aiuto e poi esci. |
-v, –variabili | Visualizza le variabili a cui si fa riferimento nel formato della shell, quindi esci. |
-V, –versione | Stampa le informazioni sulla versione e poi esci. |
Se ricevi un errore come mostrato di seguito durante l'esecuzione del comando envsubst:
envsubst: command not found
puoi provare a installare il gettext pacchetto secondo la tua scelta di distribuzione.
Distribuzione | Comando |
---|---|
OS X | brew install gettext |
Debian | apt-get install gettext-base |
Ubuntu | apt-get install gettext-base |
Alpino | apk aggiungi gettext |
Arci Linux | pacman -S gettext |
Kali Linux | apt-get install gettext-base |
CentOS | yum install gettext |
Fedora | dnf install gettext |
Raspbian | apt-get install gettext-base |
Esempi di comando envsubst
1. Sostituisci le variabili di ambiente in stdin e invia l'output a stdout:
$ echo '$HOME' | envsubst
2. Sostituisci le variabili di ambiente in un file di input e invialo a stdout:
$ envsubst < path/to/input_file
3. Sostituire le variabili di ambiente in un file di input e l'output in un file:
$ envsubst < path/to/input_file > path/to/output_file
4. Sostituisci le variabili di ambiente in un file di input da un elenco separato da spazi:
$ envsubst '$USER $SHELL $HOME' < path/to/input_file