¿Existe una manera fácil de sustituir/evaluar las variables de entorno en un archivo? Digamos que tengo un archivo config.xml
que contiene:
<property>
<name>instanceId</name>
<value>$INSTANCE_ID</value>
</property>
<property>
<name>rootPath</name>
<value>/services/$SERVICE_NAME</value>
</property>
…etc. Quiero reemplazar $INSTANCE_ID
en el archivo con el valor de INSTANCE_ID
variable de entorno, $SERVICE_NAME
con el valor de SERVICE_NAME
var. No sabré a priori qué variables de entorno se necesitan (o más bien, no quiero tener que actualizar el script si alguien agrega una nueva variable de entorno al archivo de configuración). ¡Gracias!
Respuesta aceptada:
Podrías usar envsubst
(parte de gnu gettext
):
envsubst < infile
reemplazará las variables de entorno en su archivo con su valor correspondiente. Los nombres de las variables deben consistir únicamente en caracteres ASCII alfanuméricos o de subrayado, no comenzar con un dígito y no estar vacíos; de lo contrario, dicha referencia de variable se ignora.
Para reemplazar solo ciertas variables de entorno, consulte esta pregunta.