j'exécuter le script bash suivant:Comment utiliser une variable de script bash avec sed
#!/bin/bash
version=$1
echo $version
sed 's/\${version.number}/$version/' template.txt > readme.txt
Je me attends à remplacer toutes les occurrences de $ {version.number} avec le contenu de la variable "version" . Au lieu de cela, la version texte littérale $ est insérée.
Que dois-je faire pour que sed utilise la valeur actuelle de $ version à la place?
Mais le signe dollar doit être échappé car l'expression est traitée comme une regex par 'sed'. Donc je pense que ça devrait être '\\ $'. – Philipp
@Philipp, en fait le signe '$' est seulement une ancre quand c'est le dernier caractère de la regex (ou éventuellement une sous-expression). Mais j'avoue que j'ai eu de la chance. ;) Vous pouvez éventuellement ajouter une barre oblique échappée, mais c'est '\\\ $'. –
Merci pour la correction. – Philipp