envsubst sustituye las variables de entorno en una cadena de comandos o secuencia de comandos. Cuando se usa sin opciones, copia stdin a stdout, reemplazando cualquier cadena de variable de entorno, como $VARIABLE o ${VARIABLE}, con el valor de variable de entorno apropiado. Entonces, "Mi editor es $EDITOR" se convertiría en "Mi editor es /usr/bin/emacs". Especificar un formato de shell limita las sustituciones a aquellas variables a las que se hace referencia en el formato de shell.
opciones de línea de comandos de envsubst
El comando envsubst tiene muy pocas opciones, como se muestra a continuación:
| Opción | Descripción |
|---|---|
| -h, –ayuda | Imprimir mensaje de ayuda y luego salir. |
| -v, –variables | Muestre las variables a las que se hace referencia en el formato de shell y luego salga. |
| -V, –versión | Imprime la información de la versión y luego sal. |
Si obtiene un error como el que se muestra a continuación mientras ejecuta el comando envsubst:
envsubst: command not found
puede intentar instalar el gettext paquete según su elección de distribución.
| Distribución | Comando |
|---|---|
| OS X | gettext de instalación de cerveza |
| Debian | apt-get install gettext-base |
| Ubuntu | apt-get install gettext-base |
| Alpino | apk agregar obtener texto |
| Arco Linux | pacman -S gettext |
| Kali Linux | apt-get install gettext-base |
| Cent OS | yum instalar gettext |
| Fedora | dnf instalar gettext |
| Raspbian | apt-get install gettext-base |
Ejemplos de comandos envsubst
1. Reemplace las variables de entorno en stdin y salida a stdout:
$ echo '$HOME' | envsubst
2. Reemplace las variables de entorno en un archivo de entrada y salida a stdout:
$ envsubst < path/to/input_file
3. Reemplace las variables de entorno en un archivo de entrada y salida a un archivo:
$ envsubst < path/to/input_file > path/to/output_file
4. Reemplace las variables de entorno en un archivo de entrada desde una lista separada por espacios:
$ envsubst '$USER $SHELL $HOME' < path/to/input_file