envsubst – Înlocuirea variabilelor cu variabile de mediu
- 1 minute de citit
- 4 exemple de cod
Disponibil și în English
Pe această pagină
Salut 👋,
Introducere
În acest articol scurt vreau să prezint o comandă Linux utilă și plăcută.
Comanda 🥁 envsubst 🥁. Pe scurt, ea înlocuiește valorile variabilelor de mediu.
Este excelentă pentru completarea fișierelor de configurare cu valori din variabile de mediu, o operațiune frecventă pentru dezvoltatorii care își containerizează aplicațiile.
Exemplu de utilizare
Să presupunem că containerizăm o aplicație și avem următorul fișier configuration.yaml, și vrem să modificăm valorile câmpurilor environment și log_level fără a adăuga complexitatea suplimentară de a monta fișierul configuration.yaml în container/pod.
configuration: server: "the-app" environment: "production" log_level": "info"Pentru a schimba valorile câmpurilor environment și loglevel creăm un fișier configuration-template.yaml astfel:
configuration: server: "the-app" environment: "$ENV_ENVIRONMENT" log_level": "$ENV_LOGLEVEL"Apoi rulăm envsubst pentru a înlocui valorile din configurație:
export ENV_ENVIRONMENT=staggingexport ENV_LOGLEVEL=traceenvsubst < configuration-template.yaml > configuration.yamlFișierul configuration.yaml rezultat va conține:
configuration: server: "the-app" environment: "stagging" log_level": "trace"% Concluzie
Comanda envsubst ne permite să scriem fișiere de configurare cu marcaje care vor fi înlocuite cu valorile reale din variabilele de mediu. Înainte să cunosc această comandă, credeam mereu că trebuie să parsez fișierele în vreun fel, să înlocuiesc variabilele dinamic și să mă asigur că înlocuirea nu schimbă formatul fișierului sau nu strică ceva. Acum folosesc pur și simplu envsubst.
Mulțumesc pentru lectură și distracție plăcută la programare! 🖥️🧑💻
Ajutorul envsubst
Usage: envsubst [OPTION] [SHELL-FORMAT]
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.
Report bugs in the bug tracker at
or by email to .