objectif
Produire des fichiers à partir de gabarits paramétrables, sans langage complet.
code minimal
# template.m4
#define(`APP', `data.pm')
Hello, APP!
# exécution
m4 template.m4 > out.txt
utilisation
# variables d'environnement passées via -D
m4 -DENV=prod - <<'M4' > config.conf
define(`ENV', `__ENV__')dnl
mode=ENV
M4
variante(s) utile(s)
# includes et conditions
m4 - <<'M4'
ifdef(`FEATURE', `enabled', `disabled')
M4
notes
dnlsupprime les fins de ligne; échappez les quotes avec des backticks/apostrophes.- parfait pour générer des confs déterministes.