envsubst
Linux
Publiée le
2026-09-12 06:01:40
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