ho eseguire il seguente script bash:Come utilizzare una variabile script bash con sed
#!/bin/bash
version=$1
echo $version
sed 's/\${version.number}/$version/' template.txt > readme.txt
mi aspetto di sostituire tutte le istanze di $ {} version.number con i contenuti della "versione" variabile . Invece viene inserito il testo letterale $ version.
Cosa devo fare per rendere sed invece il valore corrente di $ versione?
Ma il simbolo del dollaro deve essere scappato perché l'espressione è trattata come un'espressione regolare da 'sed'. Quindi penso che dovrebbe essere '\\ $'. – Philipp
@Philipp, in realtà il segno '$' è solo un'ancora quando è l'ultimo carattere della regex (o eventualmente sottoespressione). Ma ammetto di essere stato fortunato. ;) Puoi opzionalmente aggiungere una barra di escape, ma è '\\\ $'. –
Grazie per la correzione. – Philipp