und schon wieder Ed, die BASH und ich.
Folgendes Problemchen: In einer Zeile die background-image: enthält soll '), url(./ durch '), url(${rel_back_path} bzw. natürlich durch '), url(und-den-inhalt-der-Variable-rel_back_path ersetzt werden.
Das sieht bei mir dann so aus:
Code: Alles auswählen
ed -v -l -s ${indexname} <<EOF
/background-image:/s/'), url(\.\//'), url(${rel_back_path}/
wq
EOF
Ich erhalte die Fehlermeldung: script, line 1: Invalid command suffix und keine Ersetzung findet statt.
Der von mir festgestellte Grund ist: in der Variablen rel_back_path steht z.B. "../" oder "../../".
Und der / in der Variablen wird als Teil des Ersetzungsbefehls interpretiert und zerreist diesen so, dass wohl ein falscher Suffix entsteht.
Wenn in der Variable die / escapet wären, z. B "..\/", würde die Ersetzung funktionieren - nur leider habe ich diese Wahl nicht.
Hat da jemand eine Idee, sonst muss ich einen Workaround einbauen...
Grüße