Je pourrais peut-être susciter votre intérêt pour un script supérieur à tous les autres script qui ont, jusqu'à présent, été suggérés ici.
Étant donné un modèle.txt :
Hello, {{person}}!
Veuillez exécuter :
$ person=Bob ./render template.txt
Et vous verrez le résultat
Hello, Bob!
Vous pouvez l'écrire dans un fichier en redirigeant stdout comme suit :
$ person=Bob ./render template.txt > rendered.txt
Vous pouvez également déclarer vos variables dans un fichier, puis l'utiliser comme source. Il est préférable de le faire à l'intérieur d'un script :
#!/usr/bin/env bash
source ./myvalues
./render template.txt > rendered.txt
L'avantage de ce moteur de rendu par rapport à tous les autres est qu'il ne développe pas de variables telles que $foo
o ${bar}
ce qui est très utile si ce que vous essayez de rendre est, lui-même, un script ! De plus, ce moteur de rendu est testé à l'unité et a reçu des demandes de la part de la communauté.
On m'a dit que je devais déclarer que j'avais écrit ce script moi-même. Je vais donc mentionner que je l'ai écrit et qu'il est disponible sur GitHub à l'adresse suivante https://github.com/relaxdiego/renderest
Quelques statistiques script si cela vous intéresse :
-------------------------
| Effective LOCs | 20 |
| Test Coverage | 100% |
| Test LOCs | 50 |
-------------------------