envsubst

Linux
Publiée le 2026-09-12 06:01:40
Illustration Linux pour la commande envsubst

envsubst

# Crée un fichier de test avec des variables à remplacer
echo "Le serveur est sur $HOST et le port est ${PORT}." > template.txt
# Définit quelques variables d'environnement pour les tests
export HOST="localhost"
export PORT="8080"
export USERNAME="admin_dev"

# Test de base : substitue toutes les variables trouvées dans le fichier (stdin)
cat template.txt | envsubst

# Affiche quelles variables sont disponibles dans le format shell du fichier
envsubst -v < template.txt

# Réinitialise l'environnement pour un test propre
unset HOST PORT USERNAME

# Crée un nouveau template avec des variables différentes
echo "Utilisateur : $USERNAME, connexion sur ${HOST}." > template2.txt

# Substitue uniquement les variables listées dans le fichier (format shell)
envsubst -f "$template2.txt" < /dev/null

# Affiche la liste de toutes les variables que tu peux utiliser avec ce format
envsubst --variables < template2.txt

# Exemple où on force une substitution limitée à des variables spécifiques
export TARGET_VAR="test_valeur"
echo "Valeur test : $TARGET_VAR" > limited.txt
envsubst -c "$limited.txt" # Utilise l'option -c pour lire depuis un fichier spécifié

# Nettoyage des fichiers de test
rm template.txt template2.txt limited.txt